python中def main是什么意思_Python main()函数解析

__main__ — Top-level script environment

'__main__'是顶级代码执行的作用域的名字。

当一个模块从标准input, 一个脚本文件,或一个交互命令read读入时,它的__name__等于'__main__'。

程序入口

C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口。

#include

intmain()

{/*我的第一个 C 程序*/printf("Hello, World! \n");return 0;

}

而 Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。

一个 Python 源码文件除了可以被直接运行外,还可以作为模块(也就是库)被导入。不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。

例如,下面的例子。

#linshi.py

PI = 3.14

defmain():print ("PI:", PI)

main()

#example.py

from linshi importPIdefcalc_round_area(radius):return PI * (radius ** 2)defmain():print ("round area:", calc_round_area(2))

main()

执行python3 example.py后在输出:

PI: 3.14round area:12.56

这是因为linshi.py中有main()这行代码。实际上不希望运行linshi.py中的main函数。修改linshi.py:

PI = 3.14

defmain():print ("PI:", PI)#main() 加上一个判断:

if __name__ == '__main__':

main()

解释:

example.py从命令行read时,__name__就等于'__main__'。

linshi.py作为模块导入时,__name__则被赋值为模块自身的名字,即linshi。

Python -m 参数解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值