相关疑难解决方法(0)

世界上什么是python中的属性"__class__"

__class__在python中有一个问题.

文档说这__class__是类实例所属的类.所以我进行了一系列实验:

class counter:
    count = 0
    def __init__(self):
            self.__class__.count += 1

NewCounter1 = counter()
print NewCounter1.count   #The result is 1
NewCounter2 = counter()
print NewCounter2.count   #The result is 2
print NewCounter2.__class__.count is NewCounter2.count  #result: True
Run Code Online (Sandbox Code Playgroud)

一切顺利.

然后我输入如下代码:

NewCounter2.__class__.count = 3

print NewCounter1.count                    #result:3
print NewCounter1.__class__.count      #result:3
print NewCounter2.count                    #result:3
print NewCounter2.__class__.count      #result:3
print NewCounter2.__class__.count is NewCounter2.count      #result: True
Run Code Online (Sandbox Code Playgroud)

从上面的代码中,我认为可能NewCounter1.count等于NewCounter1,或者__class__.count,但以下代码让我感到惊讶:

NewCounter2.count = 5

print NewCounter1.count                 #result:3
print NewCounter1.__class__.count   #result:3
print …
Run Code Online (Sandbox Code Playgroud)

python class

31
推荐指数
2
解决办法
3万
查看次数

标签 统计

class ×1

python ×1