このような関数を定義するためにpython2.7を使用しています
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'
foo(3) を呼び出すと、出力は次のようになります。
args = (3,)
kwargs = {}
これは望ましいことです。
しかし__init__
、パラメーターが foo と同じ形式であるクラスの関数については、クラス Person を呼び出してインスタンス化することはできません。Person(3)
def Person():
def __init__(self, *args, **kwargs):
print args
print kwargs
x = Person(3)
出力は
x = Person(3)
TypeError: Person() takes no arguments (1 given)
それは私を大いに混乱させました、私は何かを見逃しましたか?