无法获得self和__init__的确切含义

时间:2017-05-27 14:32:00

标签: python python-2.7 python-3.x

我在下面编写了程序而没有故意使用__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,即使我创建了两个不同的实例并使用selfself.skills.append(skill))追加到特定的仅限实例。

虽然如果我使用__init__然后在其中声明skills集,那么我的代码工作正常。

0 个答案:

没有答案