导入模块时,是否在Python中有一个方法?

时间:2020-02-22 00:45:44

标签: python methods module

所以问题基本上是:

我有一个名为Fibo的模块,该模块具有一个名为fibonacci()的函数,该函数可以计算斐波那契数列。由于我想在程序中使用它,因此必须这样做:

import Fibo

Fibo.fibonacci()

但是最后一行不是使用名为fibonacci的方法的对象还是实际上是它?

2 个答案:

答案 0 :(得分:3)

Python中的所有对象都是对象。如果要从模块导入对象,则该对象将位于当前/实际模块(即程序)中。您可以创建不同的名称空间,并通过为Python代码使用不同的文件来使代码更有条理。这是使用其他模块并从中导入的优势。

根据Python文档,最好避免调用fibonacci一种方法并说它是对象的属性 ,请参见:

method

在类体内定义的函数。 [...]

attribute

与对象关联的值,该名称使用点分表达式按名称引用。例如,如果对象o具有属性a,则将其引用为o。

答案 1 :(得分:0)

在官方文档中,您可以找到答案。

归结为: “当首次导入模块时,Python会搜索该模块,如果找到该模块,它将创建一个模块对象1,对其进行初始化。”

所以基本上,是的,Fibo是一个对象。