主函数(if __ name __ == "__ main __")

主函数(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:\HG\day\0925")#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 __" 的判断。

思考:

  • 个人认为是为了在引用模块时即不影响原来模块的正常的功能,也可以使用原模块中所包含的函数。
posted @ 2020-09-25 22:48  小杨的冥想课  阅读(269)  评论(0编辑  收藏  举报