我在下面编写了程序而没有故意使用__init__
。
class testing:
skills=[]
def addSkill(self,skill):
self.skills.append(skill)
john=testing()
betty=testing()
john.addSkill("FOOTBALL")
betty.addSkill("TENNIS")
print john.skills
上面的代码将输出显示为['FOOTBALL', 'TENNIS']
。
现在我无法理解为什么python会附加到同一个变量skills
,即使我创建了两个不同的实例并使用self
(self.skills.append(skill)
)追加到特定的仅限实例。
虽然如果我使用__init__
然后在其中声明skills
集,那么我的代码工作正常。