getattr

Я довольно новичок в Python. В последнее время в программировании многих PHP я привык к некоторому творческому использованию __get и __set "магических" методов. Они вызывались только тогда, когда открытая переменная класса отсутствовала. Я пытаюсь повторить то же самое поведение в Python,но, похоже, терплю...

У меня есть следующий класс: class MyInt: def __init__(self, v): if type(v) != int: raise ValueError('value must be an int') self.v = v def __getattr__(self, attr): return getattr(self.v, attr) i = MyInt(0) print(i + 1) Я получаю ошибку: TypeError: unsupported...

Я пытаюсь понять, когда использовать __getattr__ или __getattribute__. Элемент документация упоминает __getattribute__ применяется к классам нового стиля. Что такое классы нового стиля? ...

Я читать про getattr() функции. Проблема в том, что я до сих пор не могу понять идею его использования. Единственное, что я понимаю о getattr() Это getattr(li, "pop") это то же самое, что вызов li.pop. Я не понял, когда в книге упоминалось, как вы используете его, чтобы получить ссылку на функцию, не зная ее...