1 type类生成具体的类,具体的类则生成具体的实例
type->int->1,type->str->"abc"
a=100
b="hello world"
print(type(a))
print(type(int))
print(type(b))
print(type(str))
执行结果如下:
<class 'int'>
<class 'type'>
<class 'str'>
<class 'type'>
2 对于自定义类,对象由自定义的类生成的,而自定义的类同样也是由type生成的
class Student:
pass
stu=Student()
print(type(stu))
print(type(Student))
执行结果如下:
<class '__main__.Student'>
<class 'type'>
3 object类是所有类的最顶层的基类
print(int.__bases__)
print(str.__bases__)
class People:
pass
class Person(People):
pass
print(Person.__bases__)
print(People.__bases__)
执行结果如下:
(<class 'object'>,)
(<class 'object'>,)
(<class '__main__.People'>,)
(<class 'object'>,)
4、object类是由type类实例化而来的,而type的基类又是object,而object的基类则为空
print(type(object))
print(type.__bases__)
print(object.__bases__)
执行结果:
<class 'type'>
(<class 'object'>,)
()
5 type,object 和class 的关系
- object 是所有类的顶层基类
- type 的基类也是object
- object是type的实例
- type 是 type的实例
实例------->|
| |
| |<---实例-----|
|--------type object<--继承---|
|----继承---->| |
| |
|<----------实例----------list
|<----------实例----------str
|<----------实例----------dict
|<----------实例----------tuple