面向对象基础-元类
# 1.元类:就是用来创建类这个对象的基础类,通俗的说就是最底层的类
num = 10
name = 'xxx'
class Cat:
pass
c = Cat()
print(num.__class__.__class__)
print(name.__class__.__class__)
print(c.__class__.__class__)
# 以上三个返回结果都是type这个类,再往上还是type,说明两点:1.type是最原始的类,也就是元类;2.类也是对象
# 2.使用元类创建子类
def run(self):
pass
aa = type('Cat', (), {'name': 'jerry', 'run': run})
# 'Cat'是类名;()元祖中是父类; {'name': 'jerry', 'run': run}是存储属性和方法的字典,使用__dict__访问
# 实例化一个对象
d = aa()
print(d.__dict__)
print(d.run())