Как я могу получить доступ к элементу данных класса из метода в том же классе?
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 (первый параметр - это класс) и обычный метод (как этот).