小编mca*_*mac的帖子

Python类变量int vs array

我正在玩Python类,并得出以下示例,其中两个看似静态类变量的变量在修改时具有不同的行为.

这里发生了什么?我的第一直觉是引用了一些棘手的东西.

class Foo:
    a = []
    n = 0
    def bar(self):
            self.a.append('foo')
            self.n += 1

x = Foo()
print x.a, x.n    ([] 0)
x.bar()
print x.a, x.n    (['foo', 1])
y = Foo()
print y.a, y.n    (['foo', 0])
y.bar()
print y.a, y.n    (['foo', 'foo'], 1)
Run Code Online (Sandbox Code Playgroud)

python class

6
推荐指数
1
解决办法
687
查看次数

标签 统计

class ×1

python ×1