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的Flask框架中构建Web表单的教程
Jun 04 Python
Django自定义分页效果
Jun 27 Python
dataframe设置两个条件取值的实例
Apr 12 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
Jan 10 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
Python爬虫获取豆瓣电影并写入excel
Jul 31 Python
python 如何调用远程接口
Sep 11 Python
python基础详解之if循环语句
Apr 24 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 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实现把数组按指定的个数分隔
2014/02/17 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
全面介绍javascript实用技巧及单竖杠
2016/07/18 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
简述vue中的config配置
2018/01/23 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
Python字符串三种格式化输出
2020/09/17 Python
解决pycharm 格式报错tabs和space不一致问题
2021/02/26 Python
药学专业大学生个人的自我评价
2013/11/04 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
村官个人总结范文
2015/03/03 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers