Получение частных атрибутов из класса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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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