我正在使用python2.7来定义像这样的函数
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'
并通过调用foo(3),输出如下:
args = (3,)
kwargs = {}
这是理想的。
但是对于参数与foo相同的类中的__init__
函数,我无法通过调用Person(3)
来实例化类Person
def Person():
def __init__(self, *args, **kwargs):
print args
print kwargs
x = Person(3)
输出
x = Person(3)
TypeError: Person() takes no arguments (1 given)
这让我很困惑,我错过了什么吗?
答案 0 :(得分:6)
您可能打算创建类而不是函数:
class Person():
def __init__(self, *args, **kwargs):
print args
print kwargs
__init__
用于课程:)。