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 扩展名)。

相关推荐
tkevinjd4 小时前
MiniCode 项目详解6:原项目控制系统的10个缺陷(已修复)
python·llm·agent
星栈独行5 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
dNGUZ7UGj5 小时前
10分钟完成第一个Python小游戏
python·django
没有梦想的咸鱼185-1037-16635 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
qq_448011165 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
霸道流氓气质5 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
孫治AllenSun6 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
Draina7 小时前
CBC填充预言攻击-CBC Padding Oracle Crypto Attack
python·安全·web安全·网络安全·密码学·安全性测试
c238567 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
Angel Q.8 小时前
特征提取 | DINO 到 DINOv3
图像处理·python