我遇到的情况是(伪代码):
class MyClass:
def __init___(self):
self.varA = [zza, b, c]
self.varB = [d, e, zzf]
def process(self):
self.varA = ["zz" + w for w in self.varA if "zz" not in self.varA]
self.varB = ["zz" + w for w in self.varB if "zz" not in self.varB]
print varA, varB
我想要的是更优雅的东西,我可以通过定义将变量传递给进程:
class MyClass:
def __init___(self):
self.varA = [zza, b, c]
self.varB = [d, e, zzf]
def addZZ(list):
return list = ["zz" + w for w in list if "zz" not in list]
def process(self):
self.addZZ(varA)
self.addZZ(varB)
print self.varA, self.varB
但这意味着它必须在def中动态更改属性?我怎样才能接近它
你可以这样写:
使用
setattr
和getattr
按名称访问属性同样,过滤器不依赖于项目,而只依赖于列表。可以从列表中吊出,放在外面。然后很明显,如果
"zz"
在列表中,那么该列表将被清空相关问题 更多 >
编程相关推荐