如果我们有一个包含两个函数的模块,而我们仅导入其中一个函数,另一个函数会起作用吗?例如:
文件test.py
def a(x):print(x)
def b():a(12)
在口译员那里:
从测试导入b
b()
打印12。这怎么可能?请原谅我的第一个问题是我的第一个问题:)。
答案 0 :(得分:0)
从技术上讲,没有从模块导入单个名称的事情;导入 entire模块,然后将一个或多个名称复制到本地名称空间。您的导入大致等于:
import test
b = test.b
del test
除了test
从来没有真正在本地名称空间中存在之外(随后实际上并未删除)。