首页 > 解决方案 > 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.pyfrom module import yfiboo import yimport fiboo

标签: python

解决方案


推荐阅读