Найти - Пользователи
Полная версия: Перегрузка __getattr__ Python 3.0
Начало » Python для новичков » Перегрузка __getattr__ Python 3.0
1
kozlo22
Ребят, в учебнике Лутца такая задачка:
Напишите класс с именем Meta с методами, которые
перехватывают все обращения к атрибутам (как получение значения, так
и присваивание) и выводят сообщения, перечисляющие их аргументы, на
stdout.
В принципе, ничего тут сложного нет, если реализовывать это в pyton 2.7. А вот для того, чтобы сделать в это в третьей версии, как говорит автор:“необходимо явно переопределить методы __X__ перегрузки операторов”
Собсна, что это значит?
alexbadaloff
В классе есть методы по умолчанию.
Если в классе прописать, что будет делать __X__ метод, то реализация по умолчанию не будет дергаться, а будет дергаться то, что ты написал в новой реализации - это и есть перегрузка.
Про перегрузки разве у Лутца не написано? Я вроде у него же про них и читал.
Первый ответ в гугл на запрос “перегрузка метода python” : Your text to link here…
Soteric
По-моему это называется переопределение (overriding). Перегрузка (overloading) - определение метода с тем же именем, но другой сигнатурой.
FishHook
Soteric
Перегрузка (overloading) - определение метода с тем же именем, но другой сигнатурой.
Может быть кто-то не знает, как это можно реализовать в питоне.
тут решение от бати
4kpt
FishHook
Спасибо. Очень полезная статья. Часто приходится делать через isinstance во многих функциях.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB