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版
Dec 07 Python
Python中3种内建数据结构:列表、元组和字典
Nov 30 Python
python 除法保留两位小数点的方法
Jul 16 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
详解python项目实战:模拟登陆CSDN
Apr 04 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
Cython编译python为so 代码加密示例
Dec 23 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
python爬虫 requests-html的使用
Nov 30 Python
pytorch中的 .view()函数的用法介绍
Mar 17 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
php在线打包程序源码
2008/07/27 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
基于header的一些常用指令详解
2013/06/06 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
如何解决jQuery 和其他JS库的冲突
2020/06/22 jQuery
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
英国领先的鞋类零售商和顶级品牌的官方零售商:Wynsors
2020/02/17 全球购物
2014年元旦活动方案
2014/02/15 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
文明寝室申报材料
2014/05/12 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
财务工作个人总结
2015/02/27 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
Python实现8种常用抽样方法
2021/06/27 Python
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python