参考链接 http://blog.konghy.cn/2017/04/24/python-entry-program/
first.py中编写:
PI = 3.14
def print_PI():
print("PI: ", PI)
print_PI()
second.py中编写:
from first import PI
运行second.py会输出“PI: 3.14”
原因是
“对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等。如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口。
而 Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。
在某种意义上讲,“if __name__==’__main__:”也像是一个标志,象征着Java等语言中的程序主入口,告诉其他程序员,代码入口在此——这是“if __name__==’__main__:”这条代码的意义之一。
一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。”
但如果我们只想导入PI 这个变量,不想输出值的话
可以这样改写first.py
PI = 3.14
def print_PI():
print("PI: ", PI)
# 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。
if(__name__ == "__main__"):
print_PI()