其他分享
首页 > 其他分享> > 元类

元类

作者:互联网

(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__)

标签:__,attr,元类,dict,print,type,name
来源: https://www.cnblogs.com/bigcoolcool/p/16183199.html