python中模块对象__name__

简介: 【6月更文挑战第12天】

image.png
在Python中,每个模块都有一个内置的属性 __name__。这个属性是一个字符串,它表示模块的名字。这个属性在模块被导入到其他程序中或者作为主程序运行时会有不同的值。

1. 当模块被直接运行时

如果模块是直接被Python解释器运行的(即作为主程序),那么 __name__ 的值就会被设置为 '__main__'

例如,如果你有一个名为 my_module.py 的文件,并且你直接运行它(比如通过命令行 python my_module.py),那么在这个模块内部的 __name__ 的值就是 '__main__'

2. 当模块被导入到其他程序中时

如果模块是被其他Python程序导入的,那么 __name__ 的值就会是模块的名字(不带 .py 后缀)。

例如,如果你有一个名为 my_module.py 的文件,并且你在另一个Python文件中通过 import my_module 导入了它,那么在 my_module.py 文件内部的 __name__ 的值就是 'my_module'

使用场景

这个特性经常被用来编写既可以作为主程序运行,也可以被其他程序导入的模块。通过检查 __name__ 的值,模块可以确定自己是作为主程序运行还是被其他程序导入,从而执行不同的代码。

例如:

# my_module.py

def my_function():
    print("Function was called!")

if __name__ == '__main__':
    print("Module is being run directly")
    my_function()
else:
    print("Module has been imported into another module")

如果你直接运行 my_module.py,输出会是:

Module is being run directly
Function was called!

但是如果你从另一个Python文件中导入 my_module,输出只会是:

Module has been imported into another module
目录
相关文章
|
8天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
11天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
51 5
|
12天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
15 1
|
10天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
12 0
|
10天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
13 0
|
10天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
13 0
|
12天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
12 0
|
6月前
|
Python 人工智能 数据可视化
Python模块与包(八)
Python模块与包(八)
49 0
Python模块与包(八)
|
2月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
2月前
|
开发者 Python
30天拿下Python之模块和包
30天拿下Python之模块和包
18 2

热门文章

最新文章