随笔 - 26  文章 - 0 评论 - 2 阅读 - 39592
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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 字符串标识,通过--标识的参数,每个参数为一个字符串,如果需要带值,则在该字符串

      后面加上=符号  

         

   输出:

  

posted on   lwp-boy  阅读(8726)  评论(0编辑  收藏  举报
编辑推荐:
· .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吗?
点击右上角即可分享
微信分享提示