нет.
Поля класса задаются при определении самого класса. Никто не мешает задавать и потом, но так не принято. Поля объекта — в ините.
и тоже не всегда
Поля экземпляра класса. И нет не только в ините, но хорошей практикой является определять все атрибуты в ините
Ты имеешь ввиду атрибуты наверное Создавать новые атрибуты вне инита это так себе план, т.к. при использовании класса не будет возможности узнать, есть ли этот атрибут у экземпляра или ещё нет и надо что-то сделать, чтобы он был
Интересно, а линтер пучарма будет в подсказках такие поля вообще выводить?
и хранится атрибуты теперь будут с оверхедом
Это в общем-то обычная практика — называть полями те атрибуты, которые не методы.
Э... С каким оверхедом?
Мне кажется будет
мне кажется он будет жаловаться, что поля заданы не в ините
Будет, но можно попросить не ругаться.
Понял, принял
до момента, пока атрибуты у инстансов одинаковые, они хранятся в сплитнутой таблице (ключи и значения отдельно), как только они начинают отличаться, используется смешанная (ключи и значения вместе) смотри pep412
деталь реализации
Ну, это к иниту относится весьма косвенно.
Вообще, там у разрабов CPython не появлялась мысли уже как-то пометить пепы, касающиеся только CPython?
я думал про это, да, но ничего не видел на эту тему
вот тоже хотел об это спросить
А ты уверен что это до сих пор так?
ну, оно там с 3.3 - хз
Просто там столько нерелевантного флуда, что полезное задолбаешься искать.
Мне кажется проще забить на альтернативные реализации
я так не считаю
все на месте
Обсуждают сегодня