在python中访问类实例属性的最佳方法

时间:2014-02-12 00:57:26

标签: python class

我有一节课,让我们说:

#!/usr/bin/env python

class testclass(object):
    def __init__(self, a, b, c):
        self.__attr1 = a
        self.__attr2 = b
        self.__attr3 = c

    def meth(self):
        ## run some checks on self.__attr1, self.__attr2, self.__attr3 
                    ## How to do that?  

if __name__ == '__main__':
    t = testclass("dd", "ee", "gg")

问题: 如果我有几个属性而不只是三个,那么编写meth方法的最佳方法是什么?我将对所有属性进行相同的检查。

2 个答案:

答案 0 :(得分:1)

最简单的方法是不要将它们存储为单独的属性。在这个例子中,我使用参数打包将abc作为元组abc传递,并将其存储为self._attrs

class testclass(object):
    def __init__(self, *abc):
        self._attrs = abc

    def meth(self):
        for attr in self._attrs:
            print attr

if __name__ == '__main__':
    t = testclass("dd", "ee", "gg")

答案 1 :(得分:0)

不确定通过检查attr是什么意思

但我仍然认为

def 获取(自我,实例,所有者):

可以帮助你:)