简单的python问题:访问类数据成员



我有一个定义数据属性的类。

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函数吗?

最新更新