我正在使用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)
那让我很困惑,我错过了什么吗?
您可能打算创建一个类而不是一个函数:
class Person():
def __init__(self, *args, **kwargs):
print args
print kwargs
__init__
是针对班级的:)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句