元类

(1)使用type直接创建类

Test = type('Test01', (object,), {'name': 'haha', 'age': 18})
t1 = Test()
print(type(t1))
print(Test.__dict__)

 

(2)继承type,用继承类创建类

class MyTypeClass(type):
def __new__(cls, name, base, attr: dict, *args, **kwargs):
print('---------修改元类-------')
attr_dict = {}
for k, v in attr.items():
attr_dict[k.upper()] = v
__slots__ = ['name','age']
return type.__new__(cls, name, base, attr_dict)


class MyClass(metaclass=MyTypeClass):
name='hahaha'
age='19'
name1 = 'hhh'


t2 = MyClass()
print(type(t2))
print(MyClass.__dict__)
posted @ 2022-04-23 18:24  狒狒桑  阅读(17)  评论(0编辑  收藏  举报