argv = sys.argvtry:try:
opts, args = getopt.getopt(argv[1:], "h", ["help"])except getopt.error, msg:raise Usage(msg)# more code, unchanged
except Usage, err:print sys.stderr, err.msgprint sys.stderr, "for help use --help"
return 2if __name__ == "__main__":
sys.exit(main())123456789101112131415161718192021222324
这样main()函数就只有一个退出点(exit)了,这比之前两个退出点的做法要好 。而且,参数解析重构起来也更容易:在辅助函数中引发Usage的问题不大,但是使用return 2却要求仔细处理返回值传递的问题 。
python 怎么写main 函数?print 'main'当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名 。
main函数在程序中大多数是必须存在的 。C语言标准中强制要求main函数的返回值类型为int,main函数的返回值是传递给操作系统 , 让操作系统判断程序的执行情况 。
一个程序,无论复杂或简单 , 总体上都是一个“函数”;这个函数就称为“main 函数” , 也就是“主函数” 。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数” 。在主函数中,根据情况,你可能还需要调用“买菜 , 切菜 , 炒菜”等子函数 。
main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库模块,这是其他windows程序可以使用的代码 。由于DLL模块不是独立的程序 , 因此不需要main函数 。
从函数的形势看,函数分两类:
无参函数 。printstar和print_message就是无参函数 。在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作 。
有参函数 。在调用函数时,在主调函数和被调用函数之间有数据传递 。也就是说,主调函数可以将数据传递给被调用函数使用 , 被调用函数中的数据也可以带回来供主调函数使用 。
在Python中定义Main函数目录
许多编程语言都有一个特殊的函数,当操作系统开始运行程序时会自动执行该函数 。这个函数通常被命名为main(),并且依据语言标准具有特定的返回类型和参数 。另一方面,Python解释器从文件顶部开始执行脚本,并且没有自动执行的特殊函数 。
尽管如此 , 为程序的执行定义一个起始点有助于理解程序是如何运行的 。Python程序员提出了几种方式对此进行实现 。
本文结束时 , 您将了解以下内容:
Python中的基本main()函数
一些Python脚本中,包含一个函数定义和一个条件语句 , 如下所示:
此代码中 , 包含一个main()函数 , 在程序执行时打印Hello World! 。此外,还包含一个条件(或if)语句,用于检查__name__的值并将其与字符串"__main__"进行比较 。当if语句为True时,Python解释器将执行main()函数 。更多关于Python条件语句的信息可以由此获得 。
这种代码模式在Python文件中非常常见 , 它将作为脚本执行并导入另一个模块 。为了帮助理解这段代码的执行方式,首先需要了解Python解释器如何根据代码的执行方式设置__name__ 。
Python中的执行模式
Python解释器执行代码有两种方式:
更多内容可参考如何运行Python脚本 。无论采用哪种方式,Python都会定义一个名为__name__的特殊变量,该变量包含一个字符串,其值取决于代码的使用方式 。
本文将如下示例文件保存为execution_methods.py,以 探索 代码如何根据上下文改变行为:
在此文件中,定义了三个对print()函数的调用 。前两个打印一些介绍性短语 。第三个print()会先打印短语The value __name__ is,之后将使用Python内置的repr()函数打印出__name__变量 。
推荐阅读
- 科技网络游戏集团,游戏科技
- 安卓手机发给苹果音乐,安卓手机传音乐到苹果手机
- 单机游戏启动不了,单机游戏启动不了怎么办
- linux打开png命令 linux打开图片命令
- js的火影回放,火影怎么设置本地回放
- 什么CPU能贷2117,什么cpu可以开核
- 加菲猫游戏飞行片段,加菲猫游戏玩一玩
- php数据库如何恢复 php数据库删除数据
- 没有独立显卡怎么办,没有独立显卡和有独立显卡的区别