No. Вы должны, как правило, не , как правило, всегда называете суперкласс __init__
в вашем классе __init__
, независимо от того, действительно ли вы в настоящее время «потребность» функциональности в этом методе.
Для людей, которые так или иначе думают, что это может даже предположительно быть условность:
Это не условность в Python закодировать то, что вам не нужно. Некоторые люди имеют свои собственные соглашения, чтобы включить ненужные вещи; возможно, во имя «защитного программирования» или потому, что они используются на другом языке, на котором требуется больше шаблонов.
Где заключаются соглашения Python, когда у вас есть выбор между несколькими способами выразить что-то полезное. Это правда, что Python не подчеркивает краткость выше всего остального. Но это не значит, что это подчеркивает многословие. Поэтому позвольте мне добавить это, если это не ясно:
Вы должны обычно, как правило, всегда избегайте ненужного кода шаблона. (И не только в Python.)
Пожалуйста, не голосуйте, чтобы закрыть этот вопрос. Я вижу, что было бы полезно закрыть другие языки. Python, однако, сильно подчеркивает соглашения о кодировании и что такое «Pythonic», включая идею о том, что в целом должен быть один правильный способ писать вещи; поэтому я думаю, что это правильный вопрос, по существу спрашивающий, является ли это Pythonic включать по умолчанию вызов __init__ суперкласса или нет. – Ghopper21
@ Ghopper21 Спасибо за поддержку, пожалуйста, проголосуйте за открытие. –
Если бы это была конвенция, вам, вероятно, не пришлось бы так много искать, чтобы получить ответ. Кажется, это проблема, основанная на мнениях: иногда ** удобно ** вызывать 'super().__init__', в другое время вы можете выполнить инициализацию члена вручную. – jepio