Можно ли предотвратить вызов init?

Я редактирую исходный вопрос, потому что мы все сосредоточены на том, ДОЛЖНЫ ли вы когда-либо захотеть это сделать. Мой вопрос просто МОГУ я это сделать и КАК (понимая, что может быть несколько решений). Так что я просто оставлю вопрос и вырежу фон.

Предположим, у меня есть базовый класс и дочерний класс. Могу ли я что-нибудь сделать в базовом классе, чтобы предотвратить вызов __init__ в дочернем классе - или, по крайней мере, вызвать исключение или даже журнал, если __init__ существует или вызывается в дочернем классе? Я действительно хочу, чтобы метод __init__ вызывался в родительском классе.

Правка / Заключение - Изучив варианты, представленные в ответах, я решил, что это будет плохим стилем. Решу свою проблему иначе. Тем не менее, мы надеемся, что приведенные ниже ответы будут полезны, если кто-то еще захочет это сделать.

7
задан Matthew Lund 8 February 2012 в 04:53
поделиться