python 中 dict 在类中声明的位置不一样,结果有所差别

  • 第一种声明方式:
class A(object):
    names = {}

    def output(self):
        print(self.names)


class A1(A):
    pass

class A2(A):
    pass


import time
a1 = A1()
a2 = A2()

a1.names["name"] = "jack"
for i in range(100):
    time.sleep(2)
    a1.output()
    a2.output()

输出结果如下:
这里写图片描述

  • 第二种方式:
class A(object):

    def __init__(self):
        self.names = {}

    def output(self):
        print(self.names)


class A1(A):
    pass


class A2(A):
    pass


import time

a1 = A1()
a2 = A2()

a1.names["name"] = "jack"
for i in range(100):
    time.sleep(2)
    a1.output()
    a2.output()

输出结果如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39956308/article/details/82688524
今日推荐