Python
  • 01、基础篇
    • Python基础篇-001. Python简介
    • Python基础篇-002. Hello World
    • Python基础篇-003. 变量类型(一)
    • Python基础篇-004. 常量
    • Python基础篇-005. 运算符
    • Python基础篇-006. 条件语句
    • Python基础篇-007. 循环语句
    • Python基础篇-008. 变量类型(二)
    • Python基础篇-009. 函数(一)
    • Python基础篇-010. 函数(二)
    • Python基础篇-011. 变量作用域
    • Python基础篇-012. 自定义类(一)
    • Python基础篇-013. 自定义类(二)
    • Python基础篇-014. 模块
    • Python基础篇-015. 异常处理
  • 02、进阶篇
    • Python进阶篇-001. 文件IO
    • Python进阶篇-002. main.py
    • Python进阶篇-003. init.py
    • Python进阶篇-004. all
    • Python进阶篇-005. private
    • Python进阶篇-006. lambda表达式
    • Python进阶篇-007. 推导式
    • Python进阶篇-008. 迭代器
    • Python进阶篇-009. 生成器
    • Python进阶篇-010. 多线程
    • Python进阶篇-011. 数据处理基础函数(一)
    • Python进阶篇-012. 数据处理基础函数(二)
    • Python进阶篇-013. 包管理(一)
    • Python进阶篇-014. 包管理(二)
    • Python进阶篇-015. 包管理(三)
    • Python进阶篇-016. 包管理(四)
    • Python进阶篇-017. requirements.txt
    • Python进阶篇-018. venv
    • Python进阶篇-019. 头部注释
    • Python进阶篇-020. 优雅传参
    • Python进阶篇-021. 连接MySQL
  • 03、实践篇
    • Python实践篇-001. GitBook小工具(一)
    • Python实践篇-002. GitBook小工具(二)
Powered by GitBook
On this page
  • 一、创作声明
  • 二、__main__.py
  • 三、if __name__ == '__main__':
  • 四、写在最后
  1. 02、进阶篇

Python进阶篇-002. main.py

[toc]

一、创作声明

进阶篇是对基础篇的补充,这里面更多的是各种常用库、高级语法糖的教程,因此,进阶篇的内容会比较零碎。在创作过程中,同样会借助ChatGPT来辅助。

二、__main__.py

__main__.py文件是Python中的一个特殊文件,它的作用是作为一个模块的入口点,用于执行整个模块的代码。当我们使用命令行运行一个Python模块时,解释器会自动查找并执行__main__.py文件。

示例:在命令行直接输入python -m package_name就可以执行__main__.py文件。

三、if __name__ == '__main__':

在Python中,当我们运行一个脚本文件时,Python解释器会将该文件作为主程序执行。而当我们将一个Python文件作为模块导入到其他文件中时,Python解释器会将该文件作为模块执行。

在一个Python脚本文件中,有时我们希望在该文件作为主程序执行时执行一些特定的代码,而在该文件作为模块导入时不执行这些代码。这时,我们可以使用if __name__ == '__main__':来实现。

具体来说,__name__是一个内置变量,它代表当前模块的名称。当一个Python文件作为主程序执行时,__name__的值为'__main__';当一个Python文件作为模块导入时,__name__的值为该模块的名称。

因此,当我们使用if __name__ == '__main__':时,它的意思是:如果当前模块是作为主程序执行的,那么执行if __name__ == '__main__':下面的代码;如果当前模块是作为模块导入的,那么不执行if __name__ == '__main__':下面的代码。

这样,我们就可以根据需要,在脚本文件中区分出作为主程序执行时需要执行的代码和作为模块导入时不需要执行的代码。

四、写在最后

更多技术分享,点击传送门:https://github.com/maxiaolu66/profile

PreviousPython进阶篇-001. 文件IONextPython进阶篇-003. init.py

Last updated 1 year ago