所以我在 python 中编写了一些与将类变量分配给实例变量有关的东西,然后在init方法中更改实例变量。我稍微简化了代码,当我运行它时,类变量也发生了变化:
class Map():
map = [1,2,3]
def __init__(self):
self.map = Map.map
for i in range(len(self.map)):
self.map[i] = self.map[i] * 2
print("self.map =", self.map)
print("Map.map =", Map.map)
new_map = Map()
当我运行它时,我得到以下输出:
self.map = [1, 4, 9]
Map.map = [1, 4, 9]
基本上我想知道为什么 Map.map 会改变,即使我只改变了 self.map?