Как я могу получить доступ к элементу данных класса из метода в том же классе?

class Class:
    _member = 1

    def method(self):

Я хочу получить доступ _member изнутри method()Какой правильный способ сделать это?

4 ответа

Решение

Ты можешь использовать self._member, если это не атрибут объекта (в self.__dict__) Я считаю, что это выглядит в классах __dict__ следующий, который должен содержать атрибуты класса.

class Class:
    _member = 1

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

Class.method()

А также:

>>> Class().method()
1
>>> 
class Class:
   _member = 1

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

создать экземпляр класса и вызвать метод

c = Class()
c.method()

выход:

value is 1
class Class:
    _member = 1

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

Class().method()

Дал бы вывод:

1

Кстати, это атрибут класса. Вы можете вызвать метод как связанный метод. У вас есть опция staticmethod (первый параметр не требуется), classmethod (первый параметр - это класс) и обычный метод (как этот).

Другие вопросы по тегам