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中的正则表达式
Apr 28 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python基础学习之函数方法实例详解
Jun 18 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Pytorch 多块GPU的使用详解
Dec 31 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
TensorFlow保存TensorBoard图像操作
Jun 23 Python
python 中[0]*2与0*2的区别说明
May 10 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHPThumb图片处理实例
2014/05/03 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
Python列表推导式实现代码实例
2020/09/09 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
数学系个人求职信范文
2014/01/30 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
公务员检讨书
2014/11/01 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
地球上的星星观后感
2015/06/02 职场文书
校运会加油稿大全
2015/07/22 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
python实现学生信息管理系统(面向对象)
2022/06/05 Python