Python中if __name__==‘__main__‘用法详情
作者:波尔德 发布时间:2021-07-18 02:38:20
标签:Python,if,name,main
前言:
我们先定义一个test01.py的文件。
test01.py中代码如下所示:
def step():
print(__name__)
print('step1 买菜'
'step2 洗菜'
'step3 切菜'
'step4 炒菜')
if __name__=='__main__':
print('准备制作菜品')
step()
print('制作完成')
输出结果:
注意:这段代码中输出的第一句。
print(__name__)
if __name__=='__main__'
是一个判断模块是以什么形式运行的语句。
如果这个模块本身不被其他模块调用,而是自己运行的,,那么有没有if __name__=='__main__'
,执行效果应该都是一样的,这时__name__
的值就等于'__本模块名 + main__'
;
如果这个模块被其他模块调用。会出现什么情况呢?
如图所示定义一个test02.py文件:
输出结果如图所示:
我们发现,在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__)
输出结果:
来源:https://blog.csdn.net/weixin_44025103/article/details/124888944


猜你喜欢
- 今天因为程序里面要把写入数据库的html源代码以html源编码的形式显示在页面里面,而不要被浏览器解释成。。找了N久都不知道怎么做后来看了一
- import导入包搜索路径import用于导入包:import ( "fmt"
- 库操作查询1.SHOW DATABASE; ----查询所有数据库2.SHOW CREATE DATABASE 数据库名称; ----查询某
- 1、performance schema:介绍 在MySQL5.7中,performance schema有很大改进
- 在数字图像处理中,针对不同的图像格式有其特定的处理算法。所以,在做图像处理之前,我们需要考虑清楚自己要基于哪种格式的图像进行算法设计及其实现
- 引言----在实际的web测试工作中,需要配合键盘按键来操作,webdriver的 keys()类提供键盘上所有按键的操作,还可以模拟组合键
- 本文实例讲述了Python3.5内置模块之os模块、sys模块、shutil模块用法。分享给大家供大家参考,具体如下:1、os模块:提供对操
- 前言在实际的生产环境中,如果对MySQL数据库的读和写都在一台数据库服务中操作,无论在安全性、高可用性,还是高并发性等各个方面都是完全不能满
- 1、什么是GIL全局解释器锁GIL:Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是Python的特性
- 一、Python不同版本的类Python2.2之前是没有共同的祖先的,之后引入Object类,它是所有类的共同祖先类ObjectPython
- 在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAS
- #!/usr/bin/python#coding=gbkclass User: def __init__
- 本文实例讲述了Python简单实现两个任意字符串乘积的方法。分享给大家供大家参考,具体如下:题目:给定两个任意数字组成的字符串,求乘积,字符
- 本文实例为大家分享了js实现简单放大镜效果的具体代码,供大家参考,具体内容如下效果效果,鼠标在原图片移动,黄色小盒子跟随鼠标移动,黄色小盒子
- 0. 前言本节中,我们使用策略梯度算法解决 CartPole 问题。虽然在这个简单问题中,使用随机搜索策略和爬山算法就足
- 早上一开Google Reader,发现已经全部被Silverlight 3的消息占领了,基本上都来自于Silverlight
- 本文实例讲述了python访问mysql数据库的实现方法。分享给大家供大家参考,具体如下:首先安装与Python版本匹配的MySQLdb示例
- pytorch的广播语义(broadcasting semantics),和numpy的很像,所以可以先看看numpy的文档:1、什么是广播
- 问题在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种OperationalError: (2006,
- //继承function Person(name,sex){ this.name=name;