У меня вопрос по поводу получения частных атрибутов. Я использовал @property getter и @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