def getx(self): return self.__x 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

def getx(self): return self.__x

Поиск

Доступ к свойствам

 

В языкеPythonне считается зазорным получить доступ к некоторому атрибуту(не методу)напрямую,если,конечно,этот атрибут описан в документации как часть интерфейса класса.Такие атрибуты называются свойствами(properties).В других языках

 

программирования принято для доступа к свойствам создавать специальные методы(вместо того чтобы напрямую обращаться к общедоступным членам-данным). В Python достаточно использовать ссылку на атрибут,если свойство ни на что в объекте не влияет(то есть другие объекты могут его произвольно менять). Если же свойство менее тривиально и требует каких-то действий в самом объекте,его можно описать как свойство(пример взят из документации к Python):

 

class C(object):

 

def getx(self): return self.__x

 

def setx(self, value): self.__x = value


 


def delx(self): del self.__x

 

x = property(getx, setx, delx, "I'm the 'x' property.")

 

Синтаксически доступ к свойству x будет обычной ссылкой на атрибут:

 

>>> c = C()

>>> c.x = 1

>>> print c.x

>>> del c.x

А на самом деле будут вызываться соответствующие методы:setx(),getx(),delx().

 

Следует отметить,что в экземпляре класса вPythonможно организовать доступ к любым(даже несуществующим) атрибутам, обрабатывая запрос на доступ к атрибуту группой специальных методов:


 

__getattr__(self, name)

 

__setattr__(self, name, value)

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 60; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.007 с.)