标签:init 意思 pytho 而不是 16px 成员 初学 先来 self
先来一段程序:
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)
运行这段程序会出现错误吗?答案是否定的。
print(Foo.age) 这一句有没有迷惑你? 用类名访问普通字段
x.name = cde 这一句有没有迷惑你?用对象名访问静态字段并修改其值
以上两种情形按理应该是不允许的。为什么不出错呢?
作为初学者,迷惑了一下。思考一下,然后恍然大悟。
Foo.age 在这段程序中代表的是一个变量。而不是用类名访问普通字段。
同样,x.name 在这段程序中代表的也是一个变量。而不是用对象名访问静态字段并修改其值
作为初学者的你,是否也有相同的困惑呢?
觉得挺有意思, 是以为记。
python 类成员知识点学习的一个坑(初学者,大神请绕行)
标签:init 意思 pytho 而不是 16px 成员 初学 先来 self
原文地址:https://www.cnblogs.com/sqs-cn/p/10611970.html