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 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
Python深度优先算法生成迷宫
Jan 22 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
python 多线程串行和并行的实例
Feb 22 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
Python queue队列原理与应用案例分析
Sep 27 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
Python脚本导出为exe程序的方法
Mar 25 Python
python数据分析之用sklearn预测糖尿病
Apr 22 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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
ecshop 订单确认中显示省市地址信息的方法
2010/03/15 PHP
fgetcvs在linux的问题
2012/01/15 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
php递归json类实例
2014/12/02 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
Python抽象类的新写法
2015/06/18 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
实现Python与STM32通信方式
2019/12/18 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
电大本科自我鉴定
2014/02/05 职场文书
师德师风个人反思
2014/04/28 职场文书
大学生找工作求职信
2014/07/09 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2014公司年终工作总结
2014/12/19 职场文书
人口与计划生育责任书
2015/05/09 职场文书
时尚女魔头观后感
2015/06/04 职场文书
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL