当我尝试在 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/