我定义了一个python类,如下所示:
import numpy as np
class trial_class:
def __init__(self, a=np.array([]), b=[]):
self.a = a
self.b = b
我初始化了一个实例obj = trial_class()
,并检查了以成员为单位的存储值,正如人们所期望的那样,obj.a
是一个空的numpy数组,而obj.b
是一个空列表。
现在,我使用obj
和obj.a = np.append(obj.a,[1,2,3])
修改实例obj.b.append(6)
。
如果我重新初始化obj = trial_class()
,则会发现obj.a
为空,但是obj.b
仍然具有旧值[6]
。为什么成员obj.b
不会被__init__
函数覆盖?