【发布时间】:2013-12-02 19:00:34
【问题描述】:
我有一个关于 python 和类初始化变量的问题。
所以我最近在 Python (2.7.X) 中注意到,如果您设置了一个尚未定义或初始化的类变量,您仍然可以调用和访问该变量中的数据。
例如:
class Test:
def __init__(self):
self.a = "Hello"
t = Test()
print t.a
t.b = "World"
print t.b
输出:
Hello
World
我希望 'print t.b' 出错,因为 b 尚未在 Test() 类中定义,但它运行时没有任何问题。为什么会这样?谁能解释一下?
感谢您的宝贵时间。
【问题讨论】:
-
a和b之间的唯一区别是,一个是在调用Test.__init__时动态创建的,另一个是在Test.__init__返回之后创建的。__init__没有什么特别之处,可让您分配给self.a。
标签: python python-2.7