Элегантное ООП в Python |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-04-14 09:51 Элегантное ООП в Python Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится! Что за магические методы? Магические методы — это специальные методы в python, обрамленные двумя нижними подчеркиваниями. Они также известны как dunder методы. Многое из того, что мы делаем в Python, делается с использованием dunder методов. Посмотрите на примеры ниже: Мы внедрим эти методы в наши классы, чтобы сделать их интуитивно понятными. Давайте разбираться как. 1. __init__() Первый магический метод — это метод init. Он используется в качестве конструктора для классов в Python. 2. __str__() При создании объектов классов очень хотелось бы видеть, что у них внутри, в легко читаемом для человека представлении. И здесь пригождается str: Существует другой метод — __repr__() — который используется для возврата состояния объекта как он есть, но в данной статье мы пропустим этот метод. 3. __len__() Теперь, предположим, у нас есть класс School, который хранит детальную информацию о студентах. И вот простой способ посчитать количество студентов в School. 4. __getitem__() Нам также нужен простой способ получить доступ к записям о конкретном студенте: 5. __setitem__() …и возможность редактировать их. 6. __getattr__() and __setattr__() Эти методы доступны в Python автоматически при создании класса, чтобы получать и задавать его атрибуты, следовательно нам не нужно их определять. Однако мы можем сделать это, если захотим изменить их поведение. Например, можно изменить поведение __setattr__() для сохранения атрибута в списке, когда бы он ни был задан, чтобы легко получить доступ ко всем атрибутам. 7. __iter__() Мы можем создать итератор, используя метод __iter__(). Затем мы можем использовать его для доступа к данным каждого студента. 8. __add__() и другие математические методы Предположим, у нас есть класс Имеет смысл осуществлять математические операции с этими объектами — это сделает наш код интуитивно понятнее и элегантнее. Заключение Здесь я перечислил лишь некоторые простые магические методы. Если вам интересно узнать больше, ниже список методов, которые вы можете изучить:
Источник: bookflow.ru Комментарии: |
|