python--main--入口函数

python的main()

在 Python 中,main 函数并不是像 C 或 C++ 那样强制要求的入口点。Python 程序通常从顶层代码开始执行,即不在任何函数或类定义内的代码。然而,为了使代码更模块化和易于测试,开发者经常使用一个名为 main 的函数,并通过以下惯用法来控制程序的执行:

复制代码
def main():
    # 主程序逻辑写在这里
    print("Hello, World!")

if __name__ == "__main__":
    main()

if name == "main"

  • if __name__ == "__main__":这是一个常见的 Python 惯用法,它检查当前模块是否是直接运行的(而不是被导入为另一个模块的一部分)。如果是直接运行,则调用 main() 函数。

每个模块都有一个内置的特殊属性 name。这个属性的值取决于模块是如何使用的:

当模块作为主程序被运行时:如果一个 Python 文件被直接执行(例如通过命令行 python myscript.py),那么该文件的 name 属性会被设置为字符串 "main"。

当模块被导入时:如果一个 Python 文件是作为模块被其他 Python 文件导入(例如通过 import mymodule),那么该文件的 name 属性将被设置为模块的名字(即文件名,不带 .py 扩展名)。

相关推荐
10年前端老司机2 小时前
Milvus 8种检索能力实践
数据库·python·agent
FRing032 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
旖旎夜光2 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
starzy19903 小时前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
Sakura_j_h_3 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰3 小时前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain
卷无止境3 小时前
百万 token 时代的真相:主流大模型上下文窗口与最大输出的横向对比分析
人工智能·python
用户298698530144 小时前
Python 实战:将 HTML 批量转换为 Markdown
python·html·markdown
hhcgchpspk4 小时前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
小小张说故事4 小时前
Python 里 copy.copy() 和 deepcopy() 到底差在哪:拆开 __copy__、__deepcopy__ 和那个防止无限递归的 memo 字典
python