python定义类时,class()与class(object)的区别
在python2中,class(object)定义时,class继承了object()的属性;
在python3中,class()默认继承了object();
为什么要继承object类呢?⽬的是便于统⼀操作。继承object类是为了让⾃⼰定义的类拥有更多的属性。
python2中需要写为以下形式:
1def class(object):
举例如下:
1class Person:
2"""
3不带object
4"""
5    name = "zhengtong"
6
7
8class Animal(object):
9"""
10带有object
11"""
12    name = "chonghong"
13
14if__name__ == "__main__":
15    x = Person()
16print"Person", dir(x)
17
18    y = Animal()
19print"Animal", dir(y)
运⾏结果:
1 Person ['__doc__', '__module__', 'name']
2 Animal ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__',
3'__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
4'__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name']
getattribute方法返回类型通过以上代码我们可以明显看出,person类没有继承object,只拥有doc,module和⾃定义的name变量,这个类的命名空间只有三个对象可以操作。animal类继承了object,拥有很多可操作的对象,这些都是类中的⾼级特性。
(参考⾃:
    )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。