我让自己很困惑。我有一组 python 函数,所有这些函数我都放在一个名为 (let's say) 的文件中useful.py
。然后我可以将模块读入我的 ipython
import useful as uf
然后我可以使用
uf.meaning_of_life()
等等。标准的东西。
但是 - 此文件中的某些函数调用其他函数。我可以随时使用 调用单个函数uf.
,但是相互调用的函数呢?如果一个被调用的函数eat
引用了另一个被调用的函数chew
,如何eat
知道在哪里找到chew
?我可以同时调用 asuf.eat
和uf.chew
.
我可以通过简单地做execfile('useful.py')
一个完美的工作来忽略所有这些,但我想对模块系统有更多的了解。
目前,当import
我尝试使用我的功能时会产生错误;当我使用execfile
一切正常。
我很欣赏这可能被解释为一个非常初学者的问题,但我是从 Matlab 背景开始使用 Python 的,我的自然倾向是使用execfile
. 指向信息的指针将非常受欢迎。