python中__name__属性的取值_Python脚本的“__name__”属性

Python脚本中的`__name__`属性决定了程序的执行方式。当作为模块导入时,其值为模块名,如`nametest`;独立运行时,值为`__main__`。通过检查`__name__`,可以控制程序是否直接执行特定代码,例如在模块导入时不执行。`__init__.py`文件用于标识目录为包,`__all__`变量则用于指定导入时包含的成员。
摘要由CSDN通过智能技术生成

每个Python脚本在运行时都有一个“__name__”属性。如果脚本作为模块被导入,则其“__name__”属性的值被自动设置为模块名;如果脚本独立运行,则其“__name__”属性值被自动设置为“__main__”。例如,假设文件nametest.py中只包含下面一行代码:

print(__name__)

在IDLE中直接运行该程序时,或者在命令行提示符环境中运行该程序文件时,运行结果如下:

__main__

而将该文件作为模块导入时得到如下执行结果:

>>> import nametest

Nametest

利用“__name__”属性即可控制Python程序的运行方式。例如,编写一个包含大量可被其他程序利用的函数的模块,而不希望该模块可以直接运行,则可以在程序文件中添加以下代码:

if __name__ == ‘__main__’:

print(‘Please use me as a module.’)

这样一来,程序直接执行时将会得到提示“Please use me as a module.”,而使用import语句将其作为模块导入后可以使用其中的类、方法、常量或其他成员。

附:编写自己的包与模块

在包的每个目录中都必须包含一个__init__.py文件,该文件可以是一个空文件,仅用于表示该目录是一个包。

__init__.py文件的主要用途是设置__all__变量以及所包含的包初始化所需的代码。其中__all__变量中定义的对象可以在使用from …import *时全部正确导入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值