实现功能:能够将所有属性更名为小写类名+属性名
#拦截类的创建 对之后类修改返回修改之后的类
def renameattr(classname,parentclass,oriattrdic):
newattrdic = {}
for k,v in oriattrdic.items():
# print(k,v)
if not k.startswith('__'):
k = classname.lower()+k
newattrdic[k] = v
return type(classname.upper(),parentclass,newattrdic)
class Human(object,metaclass=renameattr):
age = 20
h1 = Human()
print(hasattr(h1,'age'))
print(hasattr(h1,'humanage'))
print(h1.__class__)