我试图了解type
的工作原理,特别是三参数形式。这看起来怎么样?
这是我的镜头,但这是一个TypeError。
def type_(name, bases, dict_):
base = next(base for base in bases if hasattr(base, '__new__'))
return super(type(base)).__new__(type(base))
type('A', (int, object,), {}) # __main__.A
type_('A', (int, object,), {})
TypeError: super.__new__(type): type is not a subtype of super