我正在使用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)
这让我很困惑,我错过了什么吗?