Gibt es einen Grund, bei der Definition einer Metaklasse __new__ statt __init__ zu wählen?

Ich habe immer so etwas wie Metaklassen eingerichtet:

class SomeMetaClass(type):
    def __new__(cls, name, bases, dict):
        #do stuff here

Aber ich bin gerade auf eine Metaklasse gestoßen, die wie folgt definiert wurde:

class SomeMetaClass(type):
    def __init__(self, name, bases, dict):
        #do stuff here

Gibt es einen Grund, den einen dem anderen vorzuziehen?

Aktualisieren: Denken Sie daran, dass ich über die Verwendung fragen__new__ und__init__ in einer Metaklasse. Ich verstehe bereits den Unterschied zwischen ihnen in einer anderen Klasse. Aber in einer Metaklasse kann ich nicht verwenden__new__ Caching implementieren, weil__new__ wird nur bei der Klassenerstellung in einer Metaklasse aufgerufen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage