如何在 python 模块中重用函数
How to reuse a function within a python module
我正在尝试在正在编写的 Python 模块的另一个函数中重用一个函数。我的搜索只是一遍又一遍地显示关于如何编写和使用简单模块的相同教程。
我想做什么:
module.py:
def func1(num1, num2):
return num1 + num2
def func2(num1, num2, num3):
return func1(num1, num2) * num3
main.py
import module as mod
num1 = 1
num2 = 2
num3 = 3
res = mod.func2(num1, num2, num3)
但这会引发 NameError:
NameError: name 'func1' is not defined
我认为发生这种情况是因为 module.py
中的 func1
尚未加载到内核中,但我不知道如何在不使用我真正想要的 from module import *
的情况下解决这个问题避免。
有没有办法从 func2
中引用 func1
?或者任何其他方式来指定,func2
应该加载并使用 func1
?
我试过了,它在 Ubuntu 默认 Python 2.7
下没有任何问题
from module import func2
num1 = 1
num2 = 2
num3 = 3
res = func2(num1, num2, num3)
res
9
我正在尝试在正在编写的 Python 模块的另一个函数中重用一个函数。我的搜索只是一遍又一遍地显示关于如何编写和使用简单模块的相同教程。
我想做什么:
module.py:
def func1(num1, num2):
return num1 + num2
def func2(num1, num2, num3):
return func1(num1, num2) * num3
main.py
import module as mod
num1 = 1
num2 = 2
num3 = 3
res = mod.func2(num1, num2, num3)
但这会引发 NameError:
NameError: name 'func1' is not defined
我认为发生这种情况是因为 module.py
中的 func1
尚未加载到内核中,但我不知道如何在不使用我真正想要的 from module import *
的情况下解决这个问题避免。
有没有办法从 func2
中引用 func1
?或者任何其他方式来指定,func2
应该加载并使用 func1
?
我试过了,它在 Ubuntu 默认 Python 2.7
下没有任何问题from module import func2
num1 = 1
num2 = 2
num3 = 3
res = func2(num1, num2, num3)
res
9