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

相关推荐
小小张说故事4 小时前
Python 的 list append 为什么是均摊 O(1)?拆开过度分配那张表,看容量翻倍背后的暗账
python
benjiangliu4 小时前
恩培趣味计算机视觉-01-conda环境和Python库
开发语言·python·conda
我喜欢就喜欢4 小时前
DeepSeek Harness 开源贡献手记:从零到合入主线
开发语言·人工智能
ZhengEnCi4 小时前
用 YOLOv8n + 自研二分类模型做课堂行为识别:从 9000 张标注数据到 Flask 全栈落地
pytorch·python·计算机视觉
坐看风云变幻4 小时前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言
成为深度学习高手4 小时前
xLSTM-Mixer:用标量记忆同时混合时间与变量,把循环网络带回多元时序预测
人工智能·python·深度学习·数据挖掘·transformer
开开心心就好4 小时前
安卓PDF处理工具,免费无广告零弹窗
android·服务器·开发语言·算法·pdf·ocr
Pniubi4 小时前
HashMap扩容全流程
java·开发语言·数据结构
骑士雄师4 小时前
多轮对话流程梳理详细版本
python
白杨尚青6 小时前
C++进阶篇(二):多态——虚函数、重写、虚函数表与三个经典坑(附完整代码仓库)
开发语言·c++·多态·虚函数·重写·动态绑定