Python中对__name__的理解

1、__name__属性是系统自带的一个变量。

2、__name__属性可以让python脚本作为模块和独立运行时,都能正确运行。

3、当脚本作为模块被调用时,__name__属性的值此时是模块名,

     当脚本独立运行时,__name__属性的值是__main__

可以通过__name__属性来判断脚本的运行状态

以下通过代码,加深理解

 

# mymodule2.py

def show():
    print(__name__)
    print('I am a module')

if __name__ == '__main__':
    show()
    print('此脚本是独立运行的')

# usemodule2.py

import mymodule2

mymodule2.show()
print('__name__ is', __name__)

当运行mymodule2.py时,运行结果如下:

__main__
I am a module
此脚本是独立运行的

当运行usemodule2.py时,运行结果如下:

mymodule2
I am a module
__name__ is __main__

 

Python中,`__name__`是一个特殊的变量,它用于标识当前模块是否作为主程序运行。当一个模块被作为主程序运行时,`__name__`的值被设置为`"__main__"`;而当一个模块被作为别的模块的引入时,`__name__`的值被设置为模块的名称。这个机制可以让我们判断当前模块是作为主程序运行还是被其他模块引入。 使用`if __name__ == "__main__":`的代码块是一种常见的Python惯用法,它可以确保只有当当前模块作为主程序运行时,才会执行其中的代码。这样可以避免在被其他模块引入时,无意中执行了不需要的代码。这种做法通常用于模块的测试和示例代码,或者在需要在模块外部调用时提供一个接口。 总结来说,`__name__ == "__main__"`是用来判断当前模块是否作为主程序运行的条件语句,在这个条件下的代码块只会在当前模块作为主程序运行时才会执行。这种做法可以提高代码的可读性和重用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python——__name__ == __main__用法理解](https://blog.youkuaiyun.com/qq_45325885/article/details/122802535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python 锁的使用 python锁的使用例程python2可以直接运行,提供示例程序,供学习参考](https://download.youkuaiyun.com/download/li171049/88228463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Python 中的 if __name__ == '__main__'](https://blog.youkuaiyun.com/qq_35608277/article/details/79096878)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值