Python 类Boo():pass var1=Boo var1.x=4这怎么可能
但是Boo中没有x,它从未被声明过!这怎么可能 --编辑--Python 类Boo():pass var1=Boo var1.x=4这怎么可能,python,Python,但是Boo中没有x,它从未被声明过!这怎么可能 --编辑-- 哇,这真是令人兴奋,你可以做到 类在默认情况下有一个\uuuu dict\uuuu,正是出于这个目的(运行时赋值和修改属性)。常规属性赋值只是将相应的名称和值放入其中 这与在类定义时设置没有什么不同,真的: class Boo(): pass var1 = Boo var1.x = 4 >>类Boo: ... x=1 ... >>>Boo.y=2 >>>嘘__ mappingproxy({''dict})
哇,这真是令人兴奋,你可以做到 类在默认情况下有一个
\uuuu dict\uuuu
,正是出于这个目的(运行时赋值和修改属性)。常规属性赋值只是将相应的名称和值放入其中
这与在类定义时设置没有什么不同,真的:
class Boo():
pass
var1 = Boo
var1.x = 4
>>类Boo:
... x=1
...
>>>Boo.y=2
>>>嘘__
mappingproxy({''dict}):实际上在这个上下文中的意思是。因为您不必用python声明成员。您只是创建了一个新的(类)用于Boo
的变量,因为您刚刚声明了它!默认情况下,Python对象有一个用于存储属性的可变字典。您可以为它指定任何您想要的内容。@Barmar:如果您定义了类变量,则不会。
>>> class Boo:
... x = 1
...
>>> Boo.y = 2
>>> Boo.__dict__
mappingproxy({'__dict__': <attribute '__dict__' of 'Boo' objects>,
'__doc__': None,
'__module__': '__main__',
'__weakref__': <attribute '__weakref__' of 'Boo' objects>,
'x': 1,
'y': 2})