Получение частных атрибутов из класса ⇐ Python

Программы на Python
Anonymous
Получение частных атрибутов из класса

Сообщение Anonymous »

Я использовал методы получения @property и @setter. Имеет ли смысл получать в моем коде частные атрибуты, как здесь? Существуют ли другие способы получения частных (и защищенных) атрибутов?
class Person:
def __init__(self, name, surname):
self.__name = name
self.__surname = surname

@property
def name(self):
print("Retrieving private attribute (getter)")
return self.__name

@name.setter
def name(self, m):
if isinstance(m, str) and len(m) > 0:
self.__name = m
else:
print("Error: Must be a text with letters!")
print("Name changed")
#self.m = self.__name + self.__surname

def show(self):
print('Miss: ', self.__name, self.__surname)

os = Person('Alexandra', 'Houston') # object storing a person
os.name = 'Elizabeth'
print(os.name)
os.show()


Подробнее здесь: https://stackoverflow.com/questions/798 ... om-a-class

Вернуться в «Python»