Bac*_*kus 3 python refactoring list
我的代码看起来像这样:
self.ui.foo = False
self.ui.bar = False
self.ui.item = False
self.ui.item2 = False
self.ui.item3 = False
Run Code Online (Sandbox Code Playgroud)
我想把它变成这样的东西:
items = [foo,bar,item,item2,item3]
for elm in items:
self.ui.elm = False
Run Code Online (Sandbox Code Playgroud)
但显然只是将列表中的变量与'self.ui'部分一起使用是无效的,我宁愿不为列表中的每个元素键入'self.ui',因为这确实不是更好.我怎么能重写我的第一个代码,使它像我所说的那样?
这是你如何做到这一点:
items = ['foo','bar','item','item2','item3']
for elm in items:
setattr(self.ui, elm, False)
Run Code Online (Sandbox Code Playgroud)