1,元类
概念
它是一个创建类对象的类
首先需要明确几个点,也是python面向对象的基本概念
- 对象是由类实例化产生的
- 类本身也是一个对象
- 所以类对象是由另外一个类创建出来的,那么另外一个类就是元类
话不多说,直接上代码:
num = 10
print(num.__class__)
# 所以我们知道,10也是一个对象,它的类是"int",是python内置的类
# 这也证明了python中,万物皆对象
s = "abc"
print(s.__class__)
<class 'int'>
<class 'str'>
那么int str作为一个对象,它们的类是什么呢:
class Person:
pass
p =Person()
print(Person.__class__)
print(int.__class__)
print(str.__class__)
<class 'type'>
<class 'type'>
<class 'type'>
那么type的上一级是什么?
print(type.__class__)
<class 'type'>
我们发现,type的上一级还是type,再往上就没了,那么这个type就是一个元类
总结:什么是元类?
元类,就是一个创建类对象的类
类对象和实例对象是实例化的关系
它们还有一个最重要的区别:
类对象可以实例化,实例对象不可以