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.quipsDeath.quips访问该列表。假设您住在妈妈的地下室。不管那到底是什么,真的是您的吗?不,但是您仍然可以访问它。您和您妈妈都可以访问地下室,但实际上它属于您妈妈。同样,实例对象和类都可以在列表属于类时访问列表。

关于python - 为什么这段代码中的死亡类中没有“自我”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29317428/

10-12 19:23