在 python 文件中导入自定义函数
Import custom function in python file
嗨,我对从另一个 .py 文件导入函数感到困惑
我的问题是这样的
我做了两个.py文件
第一个名字叫qq.py
def bb(x):
x = aa(x)
return x+3
def aa(x):
return x+ 6
第二个名字叫 test.py
from qq import bb
print(bb(10))
*添加评论:test.py
有效
我以为test.py
不行。
因为函数 bb
需要函数 aa
而函数 aa
没有导入
为什么这有效?
谢谢。
它会工作,因为 python 只需要子函数,它会自动调用它的依赖项
这与我几天前发布的 相似。
基本上,当您在 test.py 中导入 bb 时,它会带来对定义 bb 的模块的名称空间的引用。
因此,在 test.py 中,如果您尝试:
from qq import bb
for x in bb.__globals__:
print(x)
你会得到输出:
__name__
__doc__
__package__
__loader__
__spec__
__file__
__cached__
__builtins__
bb
aa
因此,您可以看到 test.py 中的 bb 和 aa 都被识别了。
嗨,我对从另一个 .py 文件导入函数感到困惑
我的问题是这样的
我做了两个.py文件
第一个名字叫qq.py
def bb(x):
x = aa(x)
return x+3
def aa(x):
return x+ 6
第二个名字叫 test.py
from qq import bb
print(bb(10))
*添加评论:test.py
有效
我以为test.py
不行。
因为函数 bb
需要函数 aa
而函数 aa
没有导入
为什么这有效?
谢谢。
它会工作,因为 python 只需要子函数,它会自动调用它的依赖项
这与我几天前发布的
from qq import bb
for x in bb.__globals__:
print(x)
你会得到输出:
__name__
__doc__
__package__
__loader__
__spec__
__file__
__cached__
__builtins__
bb
aa
因此,您可以看到 test.py 中的 bb 和 aa 都被识别了。