zoukankan      html  css  js  c++  java
  • Python中的if __name__ == "__main__" 与C语言中的main( )的区别

    1 PI = 3.14
    2 
    3 def main():
    4     print("PI:", PI)
    5     
    6 if __name__=="__main__":    #:当此.py文件被直接运行,此行下的代码块被运行,当.py文件以模块包的形式被调用或导入时,则此行下的代码块不被运行(方便作为包调用执行,比如你只想调用其中一个参数)
    7     main()
    8 
    9 # 运行结果:PI: 3.14

     首先明确一点, 任何语言都需要一个执行顺序

    1. python是 从第一行开始,逐行执行

    2. C语言是 从main( )下面逐行执行

    python中 if __name__=="__main__" 是一种模块执行策略

    和C语言中main函数作为程序执行入口(运行一个程序总要告诉我从哪里开始吧??), 之所以是main( ) 是因为链接器的实现(分配销毁策略)里用的是main,直接涉及到下游的执行入口.

    1、python的模块文件有两种执行方式

      1.直接作为脚本执行

      2.被导入(import)到其他的模块文件中被间接执行。

    2、执行的原理

    每个python模块都包含内置的变量__name__,

    当模块被直接执行的时候,__name__等于文件名__name__ == 'main’();

    如果被import到其他模块中被间接执行,则__name__  == " package_*.module_name ",即当模块被间接执行时,if __name__ == '__main__’下的代码不会被执行。

  • 相关阅读:
    python编写弹球游戏的实现代码
    Linux kernal
    ccc
    Ubuntu14.04 支持 exFat 格式操作
    Ubuntu 14.04 tar 打包系统安装到新机器
    Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
    gzip 的使用
    gzip: stdin: unexpected end of file tar: Unexpected EOF in archive
    c++ 实现等待5s
    Ubuntu14.04 系统复制迁移到新的机器上
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725357.html
Copyright © 2011-2022 走看看