所以问题基本上是:
我有一个名为Fibo
的模块,该模块具有一个名为fibonacci()
的函数,该函数可以计算斐波那契数列。由于我想在程序中使用它,因此必须这样做:
import Fibo
Fibo.fibonacci()
但是最后一行不是使用名为fibonacci的方法的对象还是实际上是它?
答案 0 :(得分:3)
Python中的所有对象都是对象。如果要从模块导入对象,则该对象将位于当前/实际模块(即程序)中。您可以创建不同的名称空间,并通过为Python代码使用不同的文件来使代码更有条理。这是使用其他模块并从中导入的优势。
根据Python文档,最好避免调用fibonacci
一种方法并说它是对象的属性 ,请参见:
在类体内定义的函数。 [...]
与对象关联的值,该名称使用点分表达式按名称引用。例如,如果对象o具有属性a,则将其引用为o。
。
答案 1 :(得分:0)
在官方文档中,您可以找到答案。
归结为: “当首次导入模块时,Python会搜索该模块,如果找到该模块,它将创建一个模块对象1,对其进行初始化。”
所以基本上,是的,Fibo是一个对象。