Where is __new__ defined in python3?
本问题已经有最佳答案,请猛点这里访问。
2:在Python
1 2 3 4 5 6 7 8 9 10 11 12 | >>> class A: ... pass ... >>> A.__new__ Traceback (most recent call last): File"<stdin>", line 1, in <module> AttributeError: class A has no attribute '__new__' >>> class A(object): ... pass ... >>> A.__new__ <built-in method __new__ of type object at 0x1062fe2a0> |
结论:
3:在Python
1 2 3 4 5 | >>> class A: ... pass ... >>> A.__new__ <built-in method __new__ of type object at 0x100229940> |
确定的方法在我们的
在python 3中,如果创建一个类而不添加父类,它将自动从对象继承。您不能再创建像python 2这样的旧式类了。
例子:
1 2 | class A: # gets defaulted to class A(object): pass |
python3中的所有类都是
1 2 3 4 | >>> class A: pass ... >>> A.__mro__ (<class '__main__.A'>, <class 'object'>) |
为了保持与python 2的向后兼容性,在一些python 3代码中仍然可以执行