Перехват обращений к атрибутам на Python

class Getat:
    def __getattr__ (self, attrname):
        print ("No this attr")
    def __setattr__ (self, attr, value):
        self.__dict__[attr + '_usr'] = value
 
x = Getat()
x.name
x.age
 
x.name = "Max"
x.age = 21
 
print(x.__dict__)
print(x.name_usr, x.age_usr)

__getattr__ вызывается, когда пытаются получить значение по несуществующему атрибуту.

__setattr__ обрабатывает присваивание значений несуществующим до этого момента атрибутам.

Результа скрипта:

No this attr
No this attr
{'name_usr': 'Max', 'age_usr': 21}
Max 21

  Python для проверки текста: эффективные методы и инструменты
Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Python для начинающих
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x