In Learn Python The Hard Way exercise 43,该类中有一个名为quips
的列表
class Death(Scene):
quips = [
"You died. You kinda suck at this.",
"Your mom would be proud...if she were smarter.",
"Such a luser.",
"I have a small puppy that's better at this."
]
def enter(self):
print Death.quips[randint(0, len(self.quips)-1)]
exit(1)
为什么不分配给自己?我无法理解在Reddit上看到的一个解释:
“请注意,没有提及
self
?这意味着没有实例参与。这是该类的属性。这就像在蓝图上书写,而不是在房子的墙上书写。类/蓝图“拥有”
quips
属性。该属性是另外一个没有意思的list
对象。由于名称解析,实例也可以引用该对象: 最佳答案
就是说,您知道可以同时使用self.quips
和Death.quips
访问该列表。假设您住在妈妈的地下室。不管那到底是什么,真的是您的吗?不,但是您仍然可以访问它。您和您妈妈都可以访问地下室,但实际上它属于您妈妈。同样,实例对象和类都可以在列表属于类时访问列表。
关于python - 为什么这段代码中的死亡类中没有“自我”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29317428/