我有以下代码:
class Attributes(object):
class __metaclass__(type):
def __init__(self, cls_name, cls_bases, cls_dict):
# super(Attributes.__metaclass__, self) # NameError: global name 'Attributes' is not defined
super(__metaclass__, self).__init__(
cls_name, cls_bases, cls_dict)
给
NameError: global name '__metaclass__' is not defined
为什么在外部范围中找不到__metaclass__变量?
解决方法:
试试这个代替
super(Attributes.__metaclass__, self).__init__(cls_name, cls_bases, cls_dict)