我正在使用vars()
来动态创建一些对象变量。这似乎不是最干净的操作。但是我怎么能在没有手动定义它的情况下生成我的对象的属性名称(在这种情况下,dict相对较短,但这只是一些测试数据)。我知道这种做法带来的问题如here所述。
class DerivedProf(Prof):
def __init__(self,profiel, TAG, code_DB):
Prof.__init__(self, profiel, TAG)
self.CountCodes(self.attr, code_DB)
def CountCodes(self, attr, code_DB):
count = 0
for key, value in code_DB.iteritems():
if value[0].lower() == 'true':
for i,p in enumerate(attr):
if int(attr[i].code2) == value[1]:
count += 1
else:
continue
vars(self)[key] = count
code_DB = {'code_72': ['true',72],
'code_74': ['true',74],
'code_76': ['true',76],
'code_88': ['true',88]}