首页 > 编程语言 >Python 奇怪的设定:为什么没有 main 函数?

Python 奇怪的设定:为什么没有 main 函数?

时间:2024-12-03 14:04:06浏览次数:7  
标签:__ 设定 name Python module main my

大家好!上次我们简单聊了 Python 为什么没有 main 函数,今天我们来更详细地探讨一下,并用代码进行佐证,帮助大家彻底理解 Python 的代码执行机制!

1. Python 代码如何执行?

Python 是一种解释型语言,这意味着代码不需要编译成机器码,而是由 Python 解释器逐行读取并执行。

2.  `__name__` 变量:幕后英雄

  • 每个 Python 模块 (包括你写的脚本文件 .py) 都有一个内置的变量 __name__。

  • 当你直接运行一个 Python 脚本时,该脚本的 __name__ 变量会被解释器自动设置为 "__main__"。

  • 当你将一个 Python 文件作为模块导入到其他文件中时,该文件的 __name__ 变量会被设置为模块名 (即文件名,不带 .py 后缀)。

3. 代码示例:见证 `__name__` 的变化

创建两个文件:

  • my_module.py (作为模块)

# my_module.py
def my_function():
    print("这是一个函数,来自 my_module")

print(f"my_module 的 __name__ 值为: {__name__}")

  • main_script.py (作为主脚本)

# main_script.py
import my_module

def main():
    print("这是 main 函数,来自 main_script")
    my_module.my_function()

print(f"main_script 的 __name__ 值为: {__name__}") 

if __name__ == "__main__":
    main()

运行结果:

  • 直接运行 my_module.py:

my_module 的 __name__ 值为: __main__
  • 直接运行 main_script.py:

my_module 的 __name__ 值为: my_module
main_script 的 __name__ 值为: __main__
这是 main 函数,来自 main_script
这是一个函数,来自 my_module

4.  分析:

  • 当直接运行 my_module.py 时,它的 __name__ 值为 "__main__",所以 print 语句会被执行。

  • 当运行 main_script.py 时:

    • 首先导入 my_module,此时 my_module.py 中的代码会被执行,但 if __name__ == "__main__": 条件不成立,所以 my_module 中的 main 函数不会被执行。

    • 然后执行 main_script.py 中的代码,此时 __name__ 为 "__main__",if 条件成立,main 函数会被执行,进而调用 my_module 中的 my_function。

5. 总结:

  • Python 利用 __name__ 变量巧妙地实现了类似 main 函数的功能,使得代码既可以作为模块导入,也可以作为独立脚本运行。

  • if __name__ == "__main__": 代码块中的代码只有在直接运行该脚本时才会被执行,这保证了模块化和代码结构的清晰性。

希望今天的讲解能够帮助你更深入地理解 Python 的代码执行机制!

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

二、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

图片

三、python入门资料大全

图片

四、python进阶资料大全

图片

五、python爬虫专栏

图片

六、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

图片

七、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

八、python最新面试题

图片

标签:__,设定,name,Python,module,main,my
From: https://blog.csdn.net/qq_36807888/article/details/144203049

相关文章

  • 5.3、Python 匿名函数与 Lambda 表达式
    大家好,欢迎来到Python小白入门课程!今天我们要学习的是一个非常方便的工具:匿名函数和Lambda表达式。1.什么是匿名函数?在Python中,我们通常使用def关键字来定义一个函数,例如:defadd(x,y):"""这个函数计算两个数的和"""returnx+yresult=add(3,5)......
  • python毕设 宠物寄养管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容1.选题背景关于宠物寄养管理系统的研究,现有研究多侧重于宠物寄养业务的某一环节,如寄养家庭的选择或宠物健康监测等部分功能的实现。专门针对从用......
  • 在自家的代码生成工具中,增加对跨平台WxPython项目的前端代码生成,简直方便的不得了
    在经过长时间对WxPython的深入研究,并对其构建项目有深入的了解,以及完成对基础框架的完整改写后,终于在代码生成工具完全整合了基于Python跨平台方案项目的代码快速生成了,包括基于FastApi的后端WebAPI项目,以及前端的WxPython前端界面项目。本篇随笔主要介绍跨平台WxPython项目的......
  • python语言zip文件爬虫程序代码
    importrequestssession=requests.Session()设置请求头headers={“User-Agent”:“Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/131.0.0.0Safari/537.36Edg/131.0.0.0”,“Referer”:“https://m.ddooo.com/sof......
  • 最新毕设-Python-食堂就餐系统设计-82280(免费领项目)可做计算机毕业设计JAVA、PHP、爬
    摘要本论文主要论述了如何基于Python开发一个食堂就餐系统,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述食堂就餐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。食堂就餐......
  • [1079] QGIS tools to python code
    Steps:OpentheProcessingToolboxinQGIS.Searchforthedesiredtool,suchastheRasterCalculator.Settheparametersfortheselectedtoolaccordingtoyourrequirments.ClickonAdvanced,andconvertthetooltoPythoncode.Examples:RasterCal......
  • Python_JWT_通常用于身份验证和信息交换
    JWT(JSONWebToken)是一种开放标准(RFC7519),用于在网络应用环境间安全地传输信息。JWT通常用于身份验证和信息交换Jwt由三部分组成,用dian(.)分割Header(头部)Payload(负载)Signature(签名)Header(头部):描述JWT的元数据,通常包括两个部分:typ:指定令牌的类型,通常是JWT。alg:指定......
  • Python 自动化办公的 10 大脚本
    1.批量重命名文件如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:importos defbatch_rename_files(directory,prefix):  """批量重命名指定目录下的所有文件,添加前缀"""  forfilenameinos.listdir(directory):    new......
  • python解压缩文件
    压缩文件概述文件压缩原理文件压缩技术的核心在于消除信息冗余和优化编码效率。通过识别并去除数据中的重复模式、不必要的空白或格式信息,压缩算法能够显著减少文件的实际存储需求。这一过程涉及多个关键技术:统计冗余利用:根据数据出现频率赋予不同长度的编码,如哈夫曼......
  • 2024年版最详细Python下载安装+PyCharm下载安装使用教程!新手小白必看!
    2024年版最新Python下载安装+PyCharm下载安装使用教程!一、Python的下载安装访问官网选择版本下载安装包安装Python验证安装二、PyCharm的下载安装访问官网下载PyCharm安装PyCharm首次启动与配置三、PyCharm的基本使用创建Python文件编写代码运行代码安装第三方库配置Py......