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

时间:2011-06-12 16:54:21

标签: python class

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

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)

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

2 个答案:

答案 0 :(得分:9)

您可以像这样使用getattr

def fun(list_of_channels, attr_name):
    for chan in list_of_channels:
        attr = getattr(chan, attr_name)
        ...

答案 1 :(得分:3)

getattr功能是否需要?