python - 如何在 Python 中创建一个对象数组?

标签 python arrays object

当我尝试在 Python 中创建对象数组时,初始化为数组的值与预期不同。

我定义的类是:

class piece:
    x = 0
    y = 0
    rank = ""
    life = True
    family = ""
    pic = ""

    def __init__(self, x_position, y_position, p_rank, p_family):
        piece.x = x_position
        piece.y = y_position
        piece.rank = p_rank
        piece.family = p_family

当我初始化数组时:

pie = []
pie.append(piece(25, 25, "p", "black"))
pie.append(piece(75, 25, "p", "black"))
pie.append(piece(125, 25, "p", "black"))

print(pie[1].x)

输出为 125,而预期输出为 75。

最佳答案

您正在设置类属性,而不是为类的实例赋值:

class piece:

    def __init__(self, x_position, y_position, p_rank, p_family):
        self.x = x_position
        self.y = y_position
        self.rank = p_rank
        self.family = p_family

关于python - 如何在 Python 中创建一个对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43323865/

相关文章:

python - 如何将 uint32_t 转换为无符号字符数组?

python - 如何在 Python 和 SQL-Alchemy 中从现有数据库逆向工程数据模型

python - 如何构建可嵌入的 Python

json - Google Apps 脚本 : Returning "null" when trying to select a specific object in a API response but I can see it in the original response

javascript - 为什么传递 JavaScript 对象的方法不会更新该对象?

python - 我可以清除 Python 2.7 上 Telnetlib 中的输出缓冲区吗

javascript - 如何在 lodash 中为嵌套数组中的每个项目分组

javascript - 将数组转换为嵌套对象 javascript

javascript - JSON对象到字符串的转换问题

c - 由于算法检查超出数组而导致的 C 运行时错误