导入此模块有什么问题?

时间:2020-06-02 21:11:06

标签: python module

我有一个名为sinfun的模块:

#!/usr/bin/env python
#sinfun.py

def newsin(x):
   return sin(x)/x

,我想在此程序中使用它:

#!/usr/bin/env python
from math import *
import sinfun

x = input("enter x: ")
x = float(x)
y = sinfun.newsin(x)
print(y)

此示例中的问题是什么,必须执行哪些操作才能使代码正常工作?

2 个答案:

答案 0 :(得分:2)

如果将'from math import *'放到sinfun.py中,则可以使用。这将是使“ sinfun.py”成为各种黑匣子的首选设置吗?如所写,我收到一个找不到“罪恶”的错误。

答案 1 :(得分:1)

如前所述,这是因为sinfun.py无权访问您的math导入;想必是您的主力军。快速的解决方案是将数学导入移至sinfun

但是,您也可以将sinfun移到另一个名为maths的文件夹('packages')中,并添加仅包含__init__.py的{​​{1}},然后您可以从主菜单导入from math import *,然后您的功能将按预期运行。

import maths.sinfun as sinfun