1,main函数
python是基于脚本顺序执行,没有main函数的概念,但是我们可以通过关键字 __name__来模拟。
__name__:模块名,当执行文件和当前模块一致时,__name__的值等于__main__。
比如有如下文件:
当执行test1.py时输出 __main__,当执行test2.py时,输出 test1
我们可以通过if __name__ == "__main__"来模拟main函数。
我们执行test1.py和执行test3.py时输出结果相同,但是test1.py是在mian函数里面,当第三个模块引用
这个文件时,由于__name__ != "__main__"从而不会执行,而test3.py只要引入就会执行。
2,命名行参数
命令行参数为执行脚本指定的参数。
(1)无名参数:执行程序必须给定的参数,且给定参数顺序固定。
通过sys.argv获取,参数以空格区分,遇到空格就认为是一个参数,第一个参数sys.argv[0]为执行的
脚本本身。
(2)带名参数:执行程序通过-或者--加参数名指定的参数,参数顺序无关,参数个数可动态变化,参数可
带值也可不带值,通过getopt模块进行解析。
函数原型:getopt(args, shortopts, longopts = [])
参数说明:
args 参数列表,及sys.argv参数,通常给值sys.argv[1:]
shortopts 短字符标识,通过-标识的参数,每个标识只能是一个字符,如果参数需要带值,则在该
字符后面加上:符号
longopts 字符串标识,通过--标识的参数,每个参数为一个字符串,如果需要带值,则在该字符串
后面加上=符号
输出:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?