重複の可能性:
複数の__init__引数を持つPythonタプルのサブクラス化
から継承するクラスを定義したいのですがtuple
、でサポートされていない構文を使用してインスタンス化できるようにしたいですtuple
。MyTuple
簡単な例として、から継承し、2つの値とtuple
を渡してインスタンス化できるクラスを定義して(my)タプルを作成するとします。私は次のコードを試しました:x
y
(x, y)
class MyTuple(tuple):
def __init__(self, x, y):
print("debug message")
super().__init__((x, y))
しかし、たとえば、試したMyTuple(2, 3)
ところ、次のエラーが発生しましたTypeError: tuple() takes at most 1 argument (2 given)
。私の__init__
関数は呼び出されていないようです(私が得たエラーと、私の「デバッグメッセージ」が出力されなかったという事実に基づいています)。
では、これを行う正しい方法は何ですか?
Python3.2を使用しています。