Python中if __name__==‘__main__‘用法详情

作者:波尔德 时间:2021-07-18 02:38:20 

前言:

我们先定义一个test01.py的文件。

test01.py中代码如下所示:

def step():
print(__name__)
   print('step1 买菜'
         'step2 洗菜'
         'step3 切菜'
         'step4 炒菜')
if __name__=='__main__':
   print('准备制作菜品')
   step()
   print('制作完成')

输出结果:

Python中if __name__==‘__main__‘用法详情

注意:这段代码中输出的第一句。

print(__name__)

if __name__=='__main__'是一个判断模块是以什么形式运行的语句。

如果这个模块本身不被其他模块调用,而是自己运行的,,那么有没有
if __name__=='__main__',执行效果应该都是一样的,这时__name__的值就等于'__本模块名 + main__'

如果这个模块被其他模块调用。会出现什么情况呢?

如图所示定义一个test02.py文件:

Python中if __name__==‘__main__‘用法详情

输出结果如图所示:

Python中if __name__==‘__main__‘用法详情

我们发现,在test01中的输出语句“准备制作菜品”、“制作完成”并没有输出。
不难看出,test02不符合test01中if __name __= __main__的判断条件。

敲黑板总结啦:

__name__是用来标识模块名字的一个系统变量。这里分两种情况:第一种情况指的是当前运行的模块,那么当前模块__name__的值就为"main";
第二种情况指的是该模块是使用import导入的模块,那么这个被导入模块的__name__变量的值为该模块的文件名。

再来看一个例子:

test_one.py:

def test_function():
 print(__name__)
def test1_function(name):
 print(type(name), name)

test.py:

from test_one import *
test_function()
test1_function(__name__)

输出结果:

Python中if __name__==‘__main__‘用法详情

来源:https://blog.csdn.net/weixin_44025103/article/details/124888944

标签:Python,if,name,main
0
投稿

猜你喜欢

  • python+mysql实现简单的web程序

    2024-01-15 12:31:58
  • 简述python Scrapy框架

    2022-07-13 06:19:30
  • python实现scrapy爬虫每天定时抓取数据的示例代码

    2022-05-04 22:33:18
  • Python plt.title()函数实例详解

    2023-07-02 21:00:34
  • 如何使用Python标准库进行性能测试

    2023-04-27 07:48:52
  • MySQL Basis 常用命令

    2010-11-11 11:59:00
  • Python中拆分字符串的操作方法

    2023-12-20 00:43:24
  • 分享15 超级好用得 Python 实用技巧

    2023-03-01 06:42:09
  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    2023-09-06 22:11:25
  • python实现AES算法及AES-CFB8加解密源码

    2022-06-14 01:24:01
  • Go语言运行环境安装详细教程

    2024-05-29 22:07:51
  • thinkphp利用模型通用数据编辑添加和删除的实例代码

    2024-05-03 15:13:14
  • Python函数中的作用域规则详解

    2023-02-14 04:32:28
  • 使用Python 统计文件夹内所有pdf页数的小工具

    2022-07-06 23:21:46
  • 用户体验在商业利益面前什么都不是

    2009-06-12 12:07:00
  • PHP中文字符串截断无乱码解决方法

    2024-05-11 09:44:55
  • Oracle中查询本月星期5的所有日期列表的语句

    2012-07-11 16:13:21
  • Sql Server:多行合并成一行,并做分组统计的两个方法

    2024-01-15 22:22:21
  • Numpy 数组操作之元素添加、删除和修改的实现

    2023-06-23 22:09:03
  • JS内部事件机制之单线程原理

    2024-05-03 15:58:24
  • asp之家 网络编程 m.aspxhome.com