python__name__原理及用法详解


Posted in Python onNovember 02, 2019

1、python中__name__是什么意思?

很多python的初学者可能都会遇到一个问题:__name__是什么意思?

在刚开始学习python的时候,我们总会看到这样一句代码:

if __name__ == "__main__":

一开始我以为这句代码的意思和C语言中的main函数一样,程序从这里开始执行,但后来经过查询资料发现,两者并不完全相同,这里做一些解释:

  • __name__是一个变量,前后加了双下划线是因为这是系统定义的名字(python中系统变量都是双下划?开头结尾),普通变量不使用这种命名方式;
  • python有很多模块,这些模块是可以独立运行的(这一点与C语言和C++的头文件不同);
  • __name__是用来标识模块名字的一个系统变量。这里分两种情况:第一种情况指的是当前运行的模块,那么当前模块__name__的值就为"__main__";第二种情况指的是该模块是使用import导入的模块,那么这个被导入模块的__name__变量的值为该模块的文件名(去掉.py)。

2、测试一下上面内容的正确性

首先创建两个测试文件,代码如下

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__)

运行test.py文件,得到下面的结果:

python__name__原理及用法详解

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

Python 相关文章推荐
Python牛刀小试密码爆破
Feb 03 Python
Python 字符串操作方法大全
Mar 11 Python
Python中的fileinput模块的简单实用示例
Jul 09 Python
Python中你应该知道的一些内置函数
Mar 31 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
Python logging模块原理解析及应用
Aug 13 Python
详解python实现可视化的MD5、sha256哈希加密小工具
Sep 14 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 Python
简单了解python中的f.b.u.r函数
Nov 02 #Python
如何在python中实现随机选择
Nov 02 #Python
图解python全局变量与局部变量相关知识
Nov 02 #Python
Python如何实现动态数组
Nov 02 #Python
python基于gevent实现并发下载器代码实例
Nov 01 #Python
python进程间通信Queue工作过程详解
Nov 01 #Python
通过实例了解python property属性
Nov 01 #Python
You might like
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
php编程每天必学之验证码
2016/03/03 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
Javascript的闭包
2009/12/31 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
Python随机数random模块使用指南
2016/09/09 Python
python实现超市扫码仪计费
2018/05/30 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python 用户交互输入input的4种用法详解
2019/09/24 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
巾帼标兵事迹材料
2014/12/26 职场文书
承诺书范本
2015/01/21 职场文书
2016年元旦寄语
2015/08/17 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python