我有一个定义数据属性的类。
class channel:
def __init(self,var1, var2):
self.var1 = var1
self.var2 = var1
#etc
到目前为止很简单。但我想做的是有一个方法来指定要使用的数据属性,这样我就可以根据参数的不同,用它对不同的数据属性做同样的事情,比如(显然这是不对的)
def fun(list_of_channels, var1):
for chan in list_of_channels:
#use chan.var1
但是如果我调用,就可以使用var2作为访问chan.var2的参数
fun(list_of_channels,var2)
有没有一种我错过的明显的方法可以做到这一点?
您可以这样使用getattr:
def fun(list_of_channels, attr_name):
for chan in list_of_channels:
attr = getattr(chan, attr_name)
...
您需要getattr
函数吗?