2017-08-07 43 views
-2

我看着this,他们创建了一个Post对象,该对象没有__init__函数:first = Post(title='My First Blog Post, yay!', published=True)。所以我想 - 可以在任何的Python 3.5+对象没有__init__功能设置成员这样创建:__init__是否必须能够设置对象实例值?

class Apple: 
    id = 66 
    w = 99 

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

它继承了''从类DocType' __init__':https://github.com/elastic/elasticsearch-dsl-py/blob/b71cb29a5b72c653761464b23c81fcab89b588da/elasticsearch_dsl/document.py#L104 –

+0

你*尝试*呢?发生了什么?那结果告诉你什么? – jonrsharpe

回答

1

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

在代码中看到这部分代码? class Post(DocType):

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

相关问题