Python 之__name__的用法以及解释

文章目录

介绍

__name__ 是一个在 Python 中特殊的内置变量,用于确定一个 Python 文件是被直接运行还是被导入为模块。

文件作为模板导入,则其 __name__属性值被自动设置为模块名

文件作为程序直接运行,则__name__属性属性值被自动设置为字符串"main"

代码

下面是一个详细介绍 __name__ 用法的示例代码,带有详细的注释:

python 复制代码
# 定义一个简单的函数
def my_function():
    print("这是一个函数!")

# 如果脚本是被直接运行的,__name__ 的值将是 '__main__'
if __name__ == '__main__':
    print("这个脚本正在直接运行。")

    # 在这里可以添加任何您想要在直接运行时执行的代码

    # 调用定义的函数
    my_function()

# 如果脚本是被导入为模块的,__name__ 的值将是模块的名称(在导入时由 Python 解释器分配)
else:
    print("这个脚本被用作一个模块。")

    # 在这里可以添加任何您希望在脚本被导入时执行的代码

# 注意:在此处定义的代码将在脚本直接运行或作为模块导入时执行,具体取决于 __name__ 的值。

解释如下:

  1. 首先,定义了一个简单的函数 my_function(),它将打印一条消息。

  2. 使用 if __name__ == '__main__': 来检查 __name__ 的值是否为 '__main__'。如果是,表示脚本正在直接运行,所以在这个条件下的代码块将会执行。

  3. if __name__ == '__main__': 下,您可以放置您希望在脚本直接运行时执行的代码。

  4. 然后,检查 __name__ 是否等于模块的名称。如果脚本被导入为模块,__name__ 的值将是模块的名称,否则,如果脚本是直接运行的,__name__ 的值将是 '__main__'

  5. else: 分支下,您可以放置希望在脚本被导入为模块时执行的代码。

使用 __name__ 的这种方式可以使您的脚本更具可重用性,因为它可以在不同的上下文中执行不同的代码块,同时避免重复执行不需要的代码。

相关推荐
lljss202024 分钟前
Python11中创建虚拟环境、安装 TensorFlow
开发语言·python·tensorflow
空中湖26 分钟前
tensorflow武林志第二卷第九章:玄功九转
人工智能·python·tensorflow
CodeCraft Studio1 小时前
CAD文件处理控件Aspose.CAD教程:使用 Python 将绘图转换为 Photoshop
python·photoshop·cad·aspose·aspose.cad
Python×CATIA工业智造3 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
onceco4 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
我叫小白菜4 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
狐凄5 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
weixin_446122465 小时前
JAVA内存区域划分
java·开发语言·redis
悦悦子a啊6 小时前
Python之--基本知识
开发语言·前端·python
QuantumStack6 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法