![](https://webcf.waybackmachine.org/web/20210813161922im_/https://habrastorage.org/getpro/habr/upload_files/03a/cd5/4ba/03acd54baf448e2a282daa5a20a976fd.png)
Основным краеугольным камнем Python как объектно-ориентированного языка программирования является определение связанных классов для управления и обработки данных. Когда мы создаем класс, первым методом, который определяем является метод инициализации __init__
. Если вы примените следующие рекомендации, то тот, кто будет читать ваш код, лучше поймет механику работы всех объектов экземпляра класса. В этой статье я хочу рассказать вам о рекомендациях по определению метода __init__
.
1.Располагайте его в верхней части класса
Для большинства из нас эта рекомендация прозвучит очевидно, но я видел, как люди прячут его глубоко в теле класса вместе с другими атрибутами. Важно поместить его в самом начале, перед любыми другими методами. Именно здесь те, кто будут читать код, должны искать __init__
. Если у вас есть атрибуты, то метод __init__
следует поместить поле них. Следовать этому правилу нужно для всех классов, которые вы пишете в своем проекте, чтобы читающие не путались.
2. Называйте первый параметр self
Прежде всего, вы должны понимать, за что отвечает первый параметр. Он относится к объекту экземпляра, который вызывает метод __init__
. Возможно, вы слышали термин «инстанцирование», однако метод __init__
сам по себе не эквивалентен ему. Как следует из названия, __init__
означает инициализацию, которая отвечает за процесс установки начального состояния созданного экземпляра класса. Есть соглашение, согласно которому первый параметр должен называться self
, хотя это и не обязательно. Отмечу, что self
– это не ключевое слово в Python, в отличие от многих других языков, где используется this
, self
или it
. Они являются зарезервированными ключевыми словами для ссылки на текущий вызываемый экземпляр.
Читать далее