元类向类添加无效属性?
这是我的代码:
def __metaclass__(clsname, bases, dct):
dct["key1"] = "value1"
dct["invalid identifier"] = "value2"
return type(clsname, bases, dct)
class Cls():
pass
for name in dir(Cls):
if not name.startswith("_"):
print name
当我跑步时,我得到了:
>>>
invalid identifier
key1
>>>
是否可以访问invalid identifier
?
答案 0 :(得分:2)
您仍然可以使用getattr()
访问该标识符:
getattr(Cls, 'invalid identifier')
或直接在班级__dict__
上映射:
Cls.__dict__['invalid identifier']
您无法使用直接属性访问,因为它确实不是有效的标识符。