新建imOne.py页面:
print("Hello,this is imOne")
def fun(n):
print(n)
主页面:
"""模块导入"""
import imOne # 导入一个模块,那个模块中所有可执行的语句就执行一遍(执行print,另外的def定义方法,因为没有调用所以不执行)
主页面同上,imOne.py页面修改如下:
print("Hello,this is imOne")
def fun(n):
print(n)
fun(123)
执行主页面和imOne.py页面会发现,执行结果相同:
由此可知,导入一个模块,会将所有的可执行语句打印,但是原模块有很多类似调试的语句,不需要共享,比如imOne.py页面的方法调用fun(123),只是为了测试一下定义方法是否正确,而反复注释掉又十分不方便,所以使用系统内置属性__name__进行区分。
imOne.py页面加入print(__name__),在该页面运行会显示__main__,在主页面运行会显示imOne。
主页面同上,imOne.py页面修改如下:
print("Hello,this is imOne")
def fun(n):
print(n)
if(__name__=='__main__'): # 把调用语句做为测试语句,这类语句不共享,只在本页面使用
fun(123)
imOne.py页面运行显示:
主页面运行显示: