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 04 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
Python中property属性实例解析
Feb 10 Python
python多进程提取处理大量文本的关键词方法
Jun 05 Python
django从请求到响应的过程深入讲解
Aug 01 Python
Python3 实现串口两进程同时读写
Jun 12 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
Python tcp传输代码实例解析
Mar 18 Python
基于python实现数组格式参数加密计算
Apr 21 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
python中常见错误及解决方法
Jun 21 Python
python判断变量是否为列表的方法
Sep 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连接函数implode与分割explode的深入解析
2013/06/26 PHP
测试php函数的方法
2013/11/13 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python中规范定义命名空间的一些建议
2016/06/04 Python
Python实现识别手写数字大纲
2018/01/29 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
django Admin文档生成器使用详解
2019/07/22 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
美国最受欢迎的度假目的地优惠套餐:BookVIP
2018/09/27 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
毕业生在校学习的自我评价分享
2013/10/08 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
搬家公司的创业计划书
2014/01/01 职场文书
运动会跳远加油稿
2014/02/20 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
给学校建议书范文
2014/05/13 职场文书
护士医德考评自我评价
2015/03/03 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python