python类变量和实例变量

时间:2020-07-08 06:07:15

标签: python

当我运行以下代码时,它将输出20 13,但是为什么呢?我以为应该是13 13

class Example(object):
    sum = 10

example = Example()
Example.sum = 20
example.sum = 13
print(Example.sum, example.sum)

2 个答案:

答案 0 :(得分:0)

设置example.sum = 13时,就是在类sum(对象)的特定实例中将Example设置为13,而设置Example.sum = 20则设置了{类Example到20,因此它们将输出不同的值。

答案 1 :(得分:0)

这取决于我们在何处创建对象第一个进场给予者20,13和第二个进场给予者20,20

# first approach
class Example(object):
    sum = 10


Example.sum = 20
# create object
example = Example()
example.sum = 13

print(Example.sum, example.sum)

# second approach
# create object
example = Example()
example.sum = 13
Example.sum = 20


print(Example.sum, example.sum)
相关问题