1 #!/user/bin/env python 2 # -*- coding:utf-8 -*- 3 4 a = 1 5 b = 'abc' 6 print(type(1)) 7 print(type(int)) 8 print(type(b)) 9 print(type(str)) 10 11 12 class Student: 13 pass 14 15 16 class MyStudent(Student): 17 pass 18 19 20 stu = Student() 21 print(type(stu)) 22 print(type(Student)) 23 print(int.__bases__) 24 print(str.__bases__) 25 print(Student.__bases__) 26 print(MyStudent.__bases__) 27 print(type.__bases__) 28 print(object.__bases__) 29 print(type(object))
<class 'int'> <class 'type'> <class 'str'> <class 'type'> <class '__main__.Student'> <class 'type'> (<class 'object'>,) (<class 'object'>,) (<class 'object'>,) (<class '__main__.Student'>,) (<class 'object'>,) () <class 'type'>
关系如下图所示:
type是一个类,生成的类是一个对象,生成的实例也是一个对象
type是一个类,同时也是个对象
object是type的实例
type继承object
总结:
可以把上图展示的内容分为3类
• type自成一类,type是自己的对象(可以实例化自己),type创建所有对象
• list、str、dict、tuple...都继承object,它们都是type的对象,object是所有类的基类
• “abc”...代表了所有生成的对象