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__)
输出结果:
到此这篇关于Python中if __name__==‘__main__‘用法详情的文章就介绍到这了,更多相关Python if __name__==‘__main__‘ 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
正确理解Python中if __name__ == '__main__'
在Python,我们经常会编写 if __name__ == '__main__' 这么一段代码,这段代码该怎么来理解? 这段代码的功能理解如下: 一个python的文件有两种使用的方法: 作用一,直接作为脚本执行. 作用二,import到其他的python脚本中被调用(模块重用)执行. if __name__ == '__main__': 的作用就是控制这两种情况执行代码的过程,在if __name__ == '__main__': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执
-
聊聊Python代码中if __name__ == ‘__main__‘的作用是什么
目录 Python中if__name__==‘__main__‘作用 补充:if__name__=='__main__':的运行原理 总结 Python中if __name__ == ‘__main__‘作用 要搞清楚这个问题,要知道以py作为后缀的Python代码文件,有两种使用方式,第一种方式是直接运行,另一种方式是作为模块被别的py文件导入. 当采用第一种方式直接运行自身时,__name__的值为__main__: 当采用第二种方式被别的模块导入时,其__name__的值为其文件名(通常也
-
Python中if __name__ == "__main__"详细解释
想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是: 1.python文件的后缀为.py: 2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块) 3.在py
-
Python中if __name__ == '__main__'作用解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". //////
-
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__'是一个判断
-
关于Python中的if __name__ == ‘__main__’详情
目录 1.程序入口 2.__name__是什么? 场景1:直接运行脚本 场景2:从其他脚本导入 3.__name__可以显示包路径 5.测试模块里函数 关于在学习Python的过程中,遇到的这类似的代码: if __name__ == "__main__": print("Hello World!") 1.程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入
-
Python中print()函数的用法详情
Python中print()函数的方法是打印指定的内容.在交互环境中输入“help(print)”指令,可以显示print()函数的使用方法, 如图1所示: 图1 print()函数的使用方法 1 常用方法 1.1 打印单个内容 从图1中可以看出,print()函数的第一个参数是value,即要打印的内容.通过print()打印单个内容的方法 如图2所示: 图2 打印单个内容 1.2 打印多个内容 从图1中可以看出,print()函数的第二个参数是...,表示print()函数要打印的多个参数,
-
Python中if __name__ == '__main__'作用解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模块的 __name__ 的值取决于您如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". //////
-
Python中if __name__ == "__main__"详细解释
想必很多初次接触python都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是: 1.python文件的后缀为.py: 2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块) 3.在py
-
python中range()与xrange()用法分析
本文实例讲述了python中range()与xrange()用法.分享给大家供大家参考,具体如下: 据说range比xrange开销要大,原因是range会直接生成一个list对象,而xrange每次调用返回其中的一个值(参考:http://www.jb51.net/article/50072.htm).于是好奇做了个小小的测试,比较两个函数性能到底有多大差别. (1)测试代码 #!/usr/bin/env python from datetime import * def test_range
-
Python 中 -m 的典型用法、原理解析与发展演变
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args] 本文想要聊聊比较特殊的"-m"选项: 关于它的典型用法.原理解析与发展演变的过程. 首先,让我们用"--help"来看看它的解释: -m mod run library module as a script (ter
随机推荐
- js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
- sqlserver 日志恢复方法(搞定drop和truncate)
- Linux系统下实现远程连接MySQL数据库的方法教程
- js弹出确认是否删除对话框
- JavaScript 判断浏览器是否支持SVG的代码
- JS运动框架之分享侧边栏动画实例
- PHP中UNIX时间戳和日期间的转换与计算实例
- Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
- JS实现图片放大镜插件详解
- javascript实现图片切换的幻灯片效果源代码
- java 实现文件夹的拷贝实例代码
- 我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
- SQL Server Alwayson添加监听器失败的解决方法
- jquery实现异步加载图片(懒加载图片一种方式)
- 详解Java Ajax jsonp 跨域请求
- JS实现文字掉落效果的方法
- 移动端基础事件总结与应用
- Tomcat 7通过设置不同的端口部署两个项目
- apache虚拟机配置步骤和修改访问端口的方法(虚拟机端口映射)
- 告诉什么是网站主机提供商