主函数(if __ name __ == "__ main __")
示例一
-
此处有py文件cs.py
print("first") def func1(): print("yang") print(__name__+"yangzilaie")#为了验证__name__是什么 if __name__ == "__main__": print("杨子莲") func1() ''' 输出的结果: first 杨子莲 yang __main__yangzilaie '''
示例二
-
此处有需要引入cs.py文件的代*码
import sys sys.path.append(r"C:HGday 925")#cs.py文件路径 import cs cs.func1() ''' 输出结果为: first yang csyangzilaie '''
-
从这两个函数中可以看出__ name __ 由__ main __变为cs(被引用的函数名)
总结:
- 在某种意义上if __ name __ == "__ main __":可以看成是python程序的入口。,但只有def后定义函数外的代码都会被认为是“main”方法中的内容从上而下执行,一般的程序还是python程序是从上而下逐行运行的(比如例一中第一行还是会首先执行)。
- 当直接执行函数时时,无论何时__ name __ =="__ main __"的
- 当调用此函数时,__ name __ 就等于此函数名(本例中的cs)
- 所以会有其中的 if__ name __ =="__ main __" 的判断。
思考:
- 个人认为是为了在引用模块时即不影响原来模块的正常的功能,也可以使用原模块中所包含的函数。