这是一个对象还是一个函数?

Woj*_*cel 2 python

我正在学习机器学习的教程,同时学习python.有一部分代码我不明白:

>>> from sklearn.naive_bayes import GaussianNB
>>> clf = GaussianNB()
>>> clf.fit(X, Y)
Run Code Online (Sandbox Code Playgroud)

我不明白第二行.它是一个新的实例化对象,括号是否存在,因为它是一个构造函数?如果是,我如何将其与分配给变量的函数区分开来?我知道在这个例子中它因为这条线而相当清楚clf.fit(X, Y),但我想知道在其他情况下该怎么做.

tim*_*geb 5

Python中的所有东西都是一个对象.GaussianNB是可以调用的.添加()调用它.该调用的返回值完全取决于对象.

在这种特定情况下,GaussianNB()实例化一个新GaussianNB对象并返回它.

  • `functions`是可以调用的`objects`的子集.`classes`是`objects`的另一个子集,来自docs:[Class instantiation使用函数表示法](https://docs.python.org/3/tutorial/classes.html) (2认同)