详解python中__name__的意义以及作用


Posted in Python onAugust 07, 2019

首先定义了一个test.py的文件,然后再定义一个函数,并在函数定义后直接运行:

test.py

def HaveFun():
 if __name__ == '__main__':
  print('I am in my domain,my name is %s' % __name__)
 else:
  print('Someone else calls me!,my name is %s' % __name__)


HaveFun()

运行test.py结果:

I am in my domain,my name is __main__

然后继续创建一个main.py的文件,程序如下:

main.py

import test

 test.HaveFun()

执行main.py文件,结果如下:

Someone else calls me!,my name is test
Someone else calls me!,my name is test

这里打印了两次,第一次实在main.py在进行import test的时候,进行的打印,第二次才是test.HaveFun()中执行的打印,可以发现,这里的

__name__名称已经发成了变化,从之前的main变成了模块名称test。

总结:

1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。
2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
分析用Python脚本关闭文件操作的机制
Jun 28 Python
Python爬取京东的商品分类与链接
Aug 26 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
详解Python3中setuptools、Pip安装教程
Jun 18 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
Python 分发包中添加额外文件的方法
Aug 16 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
python代码区分大小写吗
Jun 17 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
Python模拟键盘输入自动登录TGP
Nov 27 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 #Python
Python编程学习之如何判断3个数的大小
Aug 07 #Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 #Python
python可视化篇之流式数据监控的实现
Aug 07 #Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 #Python
Django中的用户身份验证示例详解
Aug 07 #Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 #Python
You might like
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
基于JS实现快速读取TXT文件
2020/08/25 Javascript
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
PyTorch实现AlexNet示例
2020/01/14 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
应届生.NET方向面试题
2015/05/23 面试题
TCP/IP模型的分界线
2012/12/01 面试题
商务日语专业毕业生求职信
2013/10/26 职场文书
绩效工资分配方案
2014/01/18 职场文书
高三政治教学反思
2014/02/06 职场文书
关爱残疾人标语
2014/06/25 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
党章学习心得体会2016
2016/01/14 职场文书
800字作文之大雪
2019/12/04 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers