__init__是否必须能够设置对象实例值?

时间:2017-08-07 10:15:48

标签: python constructor initialization

我查看了this,他们创建了一个Post对象,该对象没有__init__函数:first = Post(title='My First Blog Post, yay!', published=True)。所以我想知道 - 任何Python 3.5+对象都可以在没有__init__函数设置成员的情况下创建:

class Apple:
    id = 66
    w = 99

an_apple = Apple(id=44, w=55)

1 个答案:

答案 0 :(得分:1)

如果你运行你在这里写的代码,你会发现答案是没有,因为你会得到这个错误TypeError: object() takes no parameters。仔细阅读@AshwiniChaudhary的内容,你读到的关于的函数确实有__init__ ,它只是从其他地方继承它。

在代码中查看此部分? class Post(DocType):

这意味着Post是一个继承了另一个名为DocType的类的东西的类。该类的其余代码只会添加更多属性。