元类添加无效的属性类?
这是我的代码:
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
? 最佳答案
您仍然可以使用getattr()
访问该标识符:
getattr(Cls, 'invalid identifier')
或直接在类
__dict__
映射上:Cls.__dict__['invalid identifier']
您只是不能使用直接属性访问,因为它实际上不是有效的标识符。
关于python - __metaclass__向创建的类添加无效属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25158701/