私は初期化と同じクラスのインスタンスを受け入れるクラスを持っています。そのような場合、単にそのインスタンスを返すだけです。同じクラスのifクラスの初期化値を返す最善のpythonメソッド
私は、このクラスに無数の初期化値を受け入れ、その後、進行コードがこれを初期化の仕方に依存しない既知のプロパティを持つオブジェクトとして使用できるようにするためです。
私のような何かを考えている:問題は、私は、このように初期化されたときに__init__()
が呼ばれるようにしたくないということです
class c(object):
def __new__(cls, *args, **kwargs):
if isinstance(args[0], c):
return args[0]
else:
return super(c, cls).__new__(cls, *args, **kwargs)
。他の方法はありますか?
ありがとうございます!
'__init __()'を呼びたくないのはなぜですか? '__init __()'が呼び出されても何もしなかったらOKでしょうか? –
args [0]がクラス – Pato
でない場合にのみ '__init __()'を呼び出す必要があります。しかし、私はあなたに尋ねています:なぜそれは重要ですか?あなたは電話を避けることがどれくらい重要ですか?インスタンスで初期化するときには何もしないようにするか、他の値で初期化するときには何もしないようにすることができます。 –