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库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
python自动重试第三方包retrying模块的方法
Apr 24 Python
解决python报错MemoryError的问题
Jun 26 Python
老生常谈python中的重载
Nov 11 Python
自学python的建议和周期预算
Jan 30 Python
详解python--模拟轮盘抽奖游戏
Apr 12 Python
python操作日志的封装方法(两种方法)
May 23 Python
java中的控制结构(if,循环)详解
Jun 26 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
pytorch中的自定义数据处理详解
Jan 06 Python
浅谈python 调用open()打开文件时路径出错的原因
Jun 05 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
paypal即时到账php实现代码
2010/11/28 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
使用python画社交网络图实例代码
2019/07/10 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
python 调试冷知识(小结)
2019/11/11 Python
Python通过字典映射函数实现switch
2020/11/06 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
预备党员承诺书
2014/03/25 职场文书
大学活动总结模板
2014/07/10 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
领导欢迎词范文
2015/01/26 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS