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

Chr*_*ris 2 python class

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

class channel:
    def __init(self,var1, var2):
        self.var1 = var1
        self.var2 = var1
        #etc
Run Code Online (Sandbox Code Playgroud)

到目前为止这么简单.但我想要做的是有一个方法,指定使用哪个数据属性,以便我可以一般地使用它来根据参数对不同的数据属性执行相同的操作,例如(显然这不对)

def fun(list_of_channels, var1):
    for chan in list_of_channels:
        #use chan.var1
Run Code Online (Sandbox Code Playgroud)

但是如果我调用的话,能够使用var2作为参数来访问chan.var2

fun(list_of_channels,var2)
Run Code Online (Sandbox Code Playgroud)

有没有明显的方法可以做到这一点,我错过了?

mou*_*uad 9

您可以像这样使用getattr:

def fun(list_of_channels, attr_name):
    for chan in list_of_channels:
        attr = getattr(chan, attr_name)
        ...
Run Code Online (Sandbox Code Playgroud)