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

2 投票
2 回答
646 浏览
提问于 2025-04-16 19:25

我有一个类,它定义了一些数据属性。

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 个回答

3

你需要的就是这个 getattr 函数吗?

9

你可以这样使用 getattr

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

撰写回答