================新式类与经典类========================
Python 2.x中默认都是经典类,只有显式继承了object才是新式类
Python 3.x中默认都是新式类,不必显式的继承object
其次:
------新式类对象可以直接通过__class__属性获取自身类型:type
------继承搜索的顺序发生了改变,经典类多继承属性搜索顺序: 先深入继承树左侧,再返回,开始找右侧;新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动
------新式类增加了__slots__内置属性, 可以把实例属性的种类锁定到__slots__规定的范围之中
------新式类增加了__getattribute__方法
作者:筱骁沙
链接:https://www.zhihu.com/question/22475395/answer/134514931
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
===================元类基础=====================
def pr(var1,var2,var3):
print("hello")
return type(var1,var2,var3)
class Foo:
def __init__(self):
print('init')
def __new__(cls, *args, **kwargs):
print("new")
__metaclass__ = pr
pass
f=Foo()
f.age=1
5383

被折叠的 条评论
为什么被折叠?



