先来段小程序
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" 这表示对象新建了一个普通变量
挺有意思,是以为记。




posted on 2019-03-30 23:25  孙文  阅读(88)  评论(0编辑  收藏  举报