python - python 编译器是否在 python 中使用 import 语句时编译所有代码?
问题描述
我正在学习 python3,我正在学习 import 语句。
我有两个 python 文件。
在fiboo.py
我有以下代码:
x=10
y=x+15
print("hello from fiboo")
def hello():
print("i am ashwin")
在main.py
我有以下代码:
from fiboo import y
print("hello from main")
print(y)
我只想访问 y 变量。所以,我从 fiboo import y 做了。但是我看到'hello from fiboo'也被打印出来了。即使我从模块中导入特定变量,所有代码都会运行吗?在运行上面的代码时,我看到输出为:
[Running] python -u "d:\python practise\main.py"
hello from fiboo
hello from main
25
我再次将代码更改为:
import fiboo
print("hello from main")
print(fiboo.y)
在这里,我也看到输出:
Running] python -u "d:\python practise\main.py"
hello from fiboo
hello from main
25
即使我们使用from module import y
某种语句,python 是否会编译模块的整个代码?我使用时它不是只从文件中导入y
变量吗?如果我们只想要来自另一个模块的变量 y,那么如果整个代码都被编译,那么优化在哪里呢?或者,无论我们使用 from还是 ,整个模块代码都被编译和打印的规则?fiboo.py
from module import y
fiboo import y
import fiboo
解决方案
推荐阅读
- reactjs - 实现 css datepicker 样式在表单内无法正常工作
- spring-boot - 数组作为spring boot kotlin中蚂蚁匹配器的参数
- python - 调整 RGB 张量的大小
- c# - 检查一个类是否实现了一个精确的泛型类定义
- javascript - JS 表单事件和验证
- css - Chrome 中的 Flexbox 高度损坏
- java - 如何使用 Apache MINA SSHD 阻止 SFTP 删除操作
- bash - 计算 git 存储库给定分支中所有文件的所有行的出现总数
- react-native - 我在异步函数中得到`Can not use keyword 'await' outside async function` .. React-native
- java - java中的回文,要求用户输入不同的输入直到他们进入停止,该方法应该删除所有空格并使字母小写