如何从同一个类中的方法访问类数据成员?

时间:2014-10-07 11:28:03

标签: python oop class-method class-attribute

class Class:
    _member = 1

    def method(self):

我想从_member内访问method(),这样做的正确方法是什么?

4 个答案:

答案 0 :(得分:2)

class Class:
    _member = 1

    @classmethod
    def method(cls):
        print cls._member

Class.method()

>>> Class().method()
1
>>> 

答案 1 :(得分:1)

您可以使用self._member,如果它不是对象的属性(在self.__dict__中),我相信它会在接下来的__dict__类中查找,其中应该包含类属性

答案 2 :(得分:0)

class Class:
   _member = 1

   def method(self):
      print "value is ",self._member

创建类的实例并调用方法

c = Class()
c.method()

输出:

value is 1

答案 3 :(得分:0)

class Class:
    _member = 1

    def method(self):
        print(Class._member)

Class().method()

会给出输出:

1

顺便说一下,那是一个Class属性。您可以将该方法作为绑定方法调用。你可以选择staticmethod(不需要第一个参数),classmethod(第一个参数是一个类)和普通方法(像这个一样)。