为什么__init__在python中失败

超速赛车

我正在使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的Python mysql类__init__函数试图重载mysql包__init__函数?

为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

为什么我们需要__init__来初始化python类

Python中的__new__和__init__

为什么在Python类中使用__init__?

为什么在Python类中使用__init__?

__init__和Python中的参数

为什么在Python中使用双重__init__?

在Python中从__init__调用setter

Python继承:何时和为什么__init__

为什么python的__init__函数没有返回语句,即使它是一个函数

__init__中的Python输入注释

为什么连续调用以RequestContext .__ init__中的空字典更新?

为什么__repr__不能成为__init__中定义的属性?

为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

为什么在python中不可能有一个object方法返回一个元组作为新对象__init__方法中的参数?

Python中的__init__自动运行方法

__init__括号中的内容是什么?

在Python中从__init__调用setter

python类的属性不在__init__中

在 Python 中的 __init__() 中添加方法

为什么缺少 __init__() 的参数?

为什么我不能从类外部访问 __init__ 中定义的类变量?

为什么 __init__() 方法中的属性未显示在 dir(Foo) API 中?

Python:类中的 __init__

为什么 mpl_connect 在类的 __init__ 中调用时不起作用?

python类中的`__init__()`是什么

为什么python的异常repr会跟踪传递给__init__的对象?

为什么 super().__init__ () 的行为与 Python 派生类中的 super().override() 不同?