提问人:Vikram 提问时间:4/25/2022 最后编辑:Vikram 更新时间:4/25/2022 访问量:45
如何在 __init__ [duplicate] 中使用默认参数创建单独的类实例
How to create separate class instance with default arguments in __init__ [duplicate]
问:
类定义:
class tr():
def __init__(self,l=[]):
self.l = l
def added(self):
self.l.append(1)
colt1 = tr()
colt1.added()
print(colt1.l)
输出是 [1] 在上述代码之后执行以下代码
colt2 = tr()
colt2.added()
print(colt2.l)
输出为 [1, 1]
我希望第二段的输出也是 [1],该类从 init 函数获取数据成员,并且还有一个默认参数。 那么我应该如何更改代码以获得此输出呢?
答:
1赞
Dennis
4/25/2022
#1
标准的做法是为您的方法准备这种东西:__init__
def __init__(self, l=None):
if l is None:
l = []
self.l = l
您可以查看此常见问题解答条目:https://docs.python.org/3/faq/programming.html#why-are-default-values-shared-between-objects
评论