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随机生成信用卡卡号的实现方法
May 14 Python
Python网络爬虫实例讲解
Apr 28 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
python isinstance函数用法详解
Feb 13 Python
Jupyter notebook如何修改平台字体
May 13 Python
Python判断字符串是否为合法标示符操作
Sep 03 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
Java Unsafe类实现原理及测试代码
Sep 15 Python
如何在windows下安装配置python工具Ulipad
Oct 27 Python
如何利用pygame实现打飞机小游戏
May 30 Python
深入理解python协程
Jun 15 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
php 阴历-农历-转换类代码
2012/01/16 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
图片完美缩放
2006/09/07 Javascript
获取Javscript执行函数名称的方法
2006/12/22 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
Python自动生产表情包
2017/03/17 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
怎么样写好简历中的自我评价
2013/10/25 职场文书
20岁生日感言
2014/01/13 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
世界读书日的活动方案
2014/08/20 职场文书
幸福中国演讲稿
2014/09/12 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
护理工作心得体会
2016/01/22 职场文书
Anaconda安装pytorch和paddle的方法步骤
2022/04/03 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL