错误报告二
作者:互联网
dir 和 dict
dir 不区分对象,会打印所有内容。dict当是类调用时会打印所有内容,但当是对象调用时,不会打印其他同类型都有的属性,只会打印自己特有的属性。
def newAtr(classname, parclasss, attrdict):
newdict = {}
c = classname.lower()[0]
for k, v in attrdict.items():
if not k.startswith('__'):
newkey = c+'_'+k
newdict[newkey] = v
return type('People', (object,), newdict)
class People(object, metaclass=newAtr):
id = '20151'
name = 'bh'
class Test:
id = '20151'
name = 'bh'
t = Test()
# g = People()
print(t.__dir__())#['__module__', 'id', 'name', '__dict__', '__weakref__', '__doc__', '__repr__', '__hash__', '__str__', '__getattribute__', '__setattr__', '__delattr__', '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__init__', '__new__', '__reduce_ex__', '__reduce__', '__subclasshook__', '__init_subclass__', '__format__', '__sizeof__', '__dir__', '__class__']
print(t.__dict__) #{}
t.sex = '女'
print(t.__dict__) #{'sex': '女'}
标签:__,.__,dict,错误报告,print,id,dir 来源: https://blog.csdn.net/baidu_40450846/article/details/89003647