先来段小程序
class Foo:
name = "abc"
def __init__(self,age):
self.age = age
print(Foo.name)
Foo.name = "bcd"
print(Foo.name)
Foo.age = 18
print(Foo.age)
x = Foo(20)
print(x.age)
x.age = 25
print(x.age)
print(x.name)
x.name = "cde"
print(x.name)
print(Foo.name)
print(Foo.age)
Foo.age = 18 类名调用普通字段? x.name = "cde" 对象调用静态字段并修改值?
按理应该出错,但运行没有错误。
一时困惑,细想恍然。
Foo.age = 18 这表示类新建了一个静态变量
x.name = "cde" 这表示对象新建了一个普通变量
挺有意思,是以为记。