Глава 1. Модель данных в языке Python
Автор использует collections.namedtuple
для конструирования простого класса, представляющего одну карту. Он содержит только атрибуты и никаких методов, как, например, запись базы данных.
===
Программисты, имеющие опыт работы с языками, где имеется метод toString
, по привычке реализуют метод __str__
, а не __repr__
. Если вы реализуете только один из этих двух методов, то пусть это будет __repr__
.
===
В табл. 1.1 показаны имена специальных методов, за исключением тех, что используются для реализации инфиксных операторов и базовых математических функций, например abs
.
Таблица 1.1. Имена специальных методов (операторы не включены)
Категория | Имена методов |
---|---|
Представление в виде строк и байтов |
|
Преобразование в число |
|
Эмуляция коллекций |
|
Итерирование |
|
Выполнение объектов, допускающих вызов, или сопрограмм |
|
Управление контекстом |
|
Управление атрибутами |
|
Дескрипторы атрибутов |
|
Абстрактные базовые классы |
|
Метапрограммирование классов |
|
Инфиксные и числовые операторы поддерживаются специальными методами, перечисленными в табл. 1.2
Таблица 1.2. Имена специальных методов для операторов
Категория операторов | Символы | Имена методов |
---|---|---|
Унарные числовые операторы |
|
|
Операторы сравнения |
|
|
Арифметические операторы |
|
|
Инверсные арифметические операторы | (арифметические операторы с переставленными операндами) |
|
Арифметические операторы составного присваивания |
|
|
Поразрядные операторы |
|
|
Инверсные поразрядные операторы |
|
|
Поразрядные операторы составного присваивания |
|
|
===
Вот еще цитата из «Дзен Python»: « особые случаи не настолько особые, чтобы из-за них нарушать правила».