list作为类的实例化参数
来源:5-1 python中的序列分类

prosmail
2021-02-16
class A:
def __init__(self, co_list):
self.co_list = co_list
def run(self):
for i in range(5):
self.co_list.append(i)
l = []
a = A(l)
a.run()
print(a.co_list)
print(l)
运行结果为:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]
老师您好,有个问题想请教一下。如上代码,“类A”的实例化方法“run”操作的是实例变量“self.co_list”,为什么全局变量“l”也被修改了。期待您的回复。谢谢。
写回答
1回答
-
这个其实就是参数的传递方式了, 当你__init__(self, co_list):这里实例化的时候就是把外部的l传递进去,并不会新生产一个list对象,所以实际上是指向同一个对象
012021-02-17
相似问题