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抓取网页图片示例(python爬虫)
Apr 27 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
简单介绍Python中利用生成器实现的并发编程
May 04 Python
Python实现模拟登录及表单提交的方法
Jul 25 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
linux环境下Django的安装配置详解
Jul 22 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
python中watchdog文件监控与检测上传功能
Oct 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
PHP编程函数安全篇
2013/01/08 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
PHP new static 和 new self详解
2017/02/19 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
Vue组件开发初探
2017/02/14 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
中英文自我评价语句
2013/12/20 职场文书
迟到检讨书5000字
2014/01/31 职场文书
机修工工作职责
2014/02/21 职场文书
汽车专业求职信
2014/06/05 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2014年保卫工作总结
2014/12/05 职场文书
商务代表岗位职责
2015/02/15 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
Django框架之路由用法
2022/06/10 Python