当我运行以下代码时,它将输出20 13
,但是为什么呢?我以为应该是13 13
。
class Example(object):
sum = 10
example = Example()
Example.sum = 20
example.sum = 13
print(Example.sum, example.sum)
答案 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)