python中if _name_=main的用法_Python中if __name__ == '__main__'的使用

一个python文件的执行方法

作为脚本语言执行

实例代码:

1632913-20190407195655866-589985068.png

直接执行

1632913-20190407195815647-219927524.png

可以发现,直接执行test.py文件,可以print两行字符串。即if__name__ == ' _ _ main _ _ '语句之前和之后的代码都被执行。

import到其他的python脚本中被调用(模块重用)、执行。

创建import_test.py文件,导入test.py文件

1632913-20190407195851716-1780360676.png

执行文件

1632913-20190407195924578-751952972.png

只输出了第一行字符串,即if__name__ == ' _ _ main _ _ '之前的语句执行了。之后的没有执行。

if _ _ name _ _ == ' _ _ main _ _ '运行原理

每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 _ _ name _ _ ,当该模块被直接执行的时候, _ _ name _ _ 等于文件名(包含后缀 .py )

如果该模块 import 到其他模块中,则该模块的 _ _ name _ _ 等于模块名称(不包含后缀.py)。

实例再看

再给test.py脚本if _ _ name _ _ == ' _ _ main _ _'之前加入print( _ name _ )

1632913-20190407200018305-1871927830.png

重新执行文件test.py如下

1632913-20190407200048304-625451903.png

在执行import_test.py如下

1632913-20190407200122110-964439630.png

此时,test.py中的__name__变量值为 test,不满足 _ _ name _ _ ==" _ _ main _ _ " 的条件,因此,无法执行其后的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值