通俗易懂详解Python基础五种下划线作用
目录
- 1、后单下划线例如: data_
- 2、前单下划线例如: _data
- 3、前双下划线例如: __data
- 4、前后双下划线: __data__
- 5、单下划线例如: _
1、后单下划线例如: data_
其实这种就是为了防止跟系统关键字重名了,比如 python 里是不是有个关键字 class
但是我也想用 class做变量怎么办,如果不做处理肯定是不行的有冲突
所以我们在后面添加 _ 变成 class_, 就可以用了。
我觉得但凡懂点编程的人都能明白这个
2、前单下划线例如: _data
这种其实就是为了告诉程序员,这个为内部使用的变量,不要再外部使用,仅在内部使用,就是为了设置一个提示,但是外部还是可以用。只是告诉程序员最好不要再外部使用,如果是函数,也是同样的道理。
看到没,系统不会提示出来,但是强制写上去也是可以用的
3、前双下划线例如: __data
这种就更简单了,其实就是私有的变量和函数,子类不能用,一用就报错。
看到没,就这么简单
4、前后双下划线: __data__
这种类型的其实就是Python内部调用的,我们根本就不用管怎么调用,比如:
这种就是系统内部调用的,这些函数都是在我们调用其他函数,在内部使用到了他们,比如这里 的 __init __就是一个构造函数,我们在调用 Person() 自然在内部调用到了他,再比如我们调用的 len() 内部也会调用类似的函数,我们知道就好。
5、单下划线例如: _
1、这个其实也是一个变量,表示一个临时对象
for _ in “hongbiao”: 这种情况就跟普通变量没有关系
2、表示程序中运行的最近一个结果,我上一个图大家明白了
注意,这里的 _ 如果在前面赋值了就不能再取最近的结果了
不知道我上面的解释大家是否能理解,如果能理解帮我点个赞。纯粹写一个字敲出来的,没有复制任何文章。
以上就是通俗易懂详解Python中的五种下划线的详细内容,更多关于Python中的五种下划线的资料请关注我们其它相关文章!
相关推荐
-
详解Python中下划线的5种含义
目录 1. 单引号下划线 _var 2. 单尾划线 var_ 3. 双首下划线 __var __baz出什么情况了? 4. 双前导和双末尾下划线 _var_ 5.单下划线 _ Python下划线命名模式 - 小结 本文介绍了Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类. 单下划线和双下划线在 Python 变量和方法名称中都各有其含义.有一些含义仅仅是依照约定,被视作是对
-
Python下划线5种含义代码实例解析
五种Python下划线模式速查表: 单前导下划线:_var 当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义. 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响. 下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用. 该约定在PEP 8中有定义. 这不是Python强制规定的. Python不像Java那样在"私有"和"公共"变量之间有很强的区别. 这就像有人提出了一个小小的下划线警
-
Python中的单下划线和双下划线使用场景详解
单下划线 单下划线用作变量 最常见的一种使用场景是作为变量占位符,使用场景明显可以减少代码中多余变量的使用.为了方便理解,_可以看作被丢弃的变量名称,这样做可以让阅读你代码的人知道,这是个不会被使用的变量,e.g.. for _, _, filenames in os.walk(targetDir): print(filenames) for _ in range(100): print('PythonPoint') 在交互解释器比如iPython中,_变量指向交互解释器中最后一次执行语句的返回
-
python中单下划线_的常见用法总结
这篇文章给大家介绍python中单下划线_,具体内容如下所示: 前言 我们在阅读源码的时候经常会看到各种单下划线_的使用,所以今天特地做一个总结,而且其实很多(不是所有)关于下划线的使用都是一些约定俗成的惯例,而不是真正对python解释器有影响. 0x1存储上一条语句的执行结果 在python的解释器中,_是上一条语句的执行结果,最早是CPython施行,到现在其他类型的解释器也在使用 0x02作为一个无关紧要的变量 例如下面这个例子: for _ in range(10): print 'h
-
python中单下划线(_)和双下划线(__)的特殊用法
函数使用单下划线_开头 使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入. 但可以用:from module import _func形式单独导入. 类属性和类方法使用单下划线_开头 _开头为保护类型的属性和方法,仅允许类内部和子类访问,类实例无法访问此属性和方法. 类属性和类方法使用双下划线__开头 __开头为私有类型属性和方法,仅允许类内部访问,类实例和派生类均不能访问此属性和方法. 所以双划线比单划线权限更严格. 补充说明 对于__
-
通俗易懂详解Python基础五种下划线作用
目录 1.后单下划线例如: data_ 2.前单下划线例如: _data 3.前双下划线例如: __data 4.前后双下划线: __data__ 5.单下划线例如: _ 1.后单下划线例如: data_ 其实这种就是为了防止跟系统关键字重名了,比如 python 里是不是有个关键字 class 但是我也想用 class做变量怎么办,如果不做处理肯定是不行的有冲突 所以我们在后面添加 _ 变成 class_, 就可以用了. 我觉得但凡懂点编程的人都能明白这个 2.前单下划线例如: _data 这
-
通俗讲解Python中的五种下划线含义
目录 前言 1.后单下划线例如: data_ 2.前单下划线例如: _data 3.前双下划线例如: __data 4.前后双下划线: __data__ 5.单下划线例如: _ 总结 前言 本来而言,这个问题网上很多资料,但是网上资料都是复制来复制去,很多话大家其实都不是很明白的,或者拿着官方文档翻译过来的,让人看的非常迷糊.今天我我通俗好懂表述解释下这几种情况 1.后单下划线例如: data_ 其实这种就是为了防止跟系统关键字重名了,比如 python 里是不是有个关键字 class 但是我也
-
详解Python中4种超参自动优化算法的实现
目录 一.网格搜索(Grid Search) 二.随机搜索(Randomized Search) 三.贝叶斯优化(Bayesian Optimization) 四.Hyperband 总结 大家好,要想模型效果好,每个算法工程师都应该了解的流行超参数调优技术. 今天我给大家总结超参自动优化方法:网格搜索.随机搜索.贝叶斯优化 和 Hyperband,并附有相关的样例代码供大家学习. 一.网格搜索(Grid Search) 网格搜索是暴力搜索,在给定超参搜索空间内,尝试所有超参组合,最后搜索出最优
-
详解Python中四种关系图数据可视化的效果对比
python关系图的可视化主要就是用来分析一堆数据中,每一条数据的节点之间的连接关系从而更好的分析出人物或其他场景中存在的关联关系. 这里使用的是networkx的python非标准库来测试效果展示,通过模拟出一组DataFrame数据实现四种关系图可视化. 其余还包含了pandas的数据分析模块以及matplotlib的画图模块. 若是没有安装这三个相关的非标准库使用pip的方式安装一下即可. pip install pandas -i https://pypi.tuna.tsinghua.e
-
详解Python的三种拷贝方式
在练习列表的操作的时候我发现赋值之后的列表会随着被赋值的列表改变而改变,就像是C语言中用指向同一实际变量的指针进行操作一样.这是因为Python中有三种拷贝方式:浅拷贝.深拷贝和赋值拷贝. 赋值拷贝就像是定义新指针并指向了同一内存区域,对任意一个列表名进行操作,其他的也会变化. 深拷贝的作用是完全拷贝一个列表A并赋值给另一列表B.以下是深度拷贝与列表操作的样例.记得在使用深拷贝的时候要引入copy包. import copy #对列表的增删改 numbers_Ori = ['one', 'two
-
浅谈一下Python中5种下划线的含义
目录 1.单前导下划线:_var 2.单末尾下划线 var_ 3. 双前导下划线 __var 4.双前导和双末尾下划线 _var_ 5.单下划线 _ 1.单前导下划线:_var 当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义. 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响. 下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用. 该约定在PEP 8中有定义. 这不是Python强制规定的. Python不像J
-
Python五种下划线详解
目录 1.后单下划线例如: data_ 2.前单下划线例如: _data 3.前双下划线例如: __data 4.前后双下划线: __data__ 5.单下划线例如: _ 总结 本来而言,这个问题网上很多资料,但是网上资料都是复制来复制去,很多话大家其实都不是很明白的,或者拿着官方文档翻译过来的,让人看的非常迷糊.今天我我通俗好懂表述解释下这几种情况 1.后单下划线例如: data_ 其实这种就是为了防止跟系统关键字重名了,比如 python 里是不是有个关键字 class 但是我也想用 cla
-
详解Python基础random模块随机数的生成
随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块. import random 下面介绍下Python内置的random模块的几种生成随机数的方法. 1.random.random() 随机生成 0 到 1 之间的浮点数[0.0, 1.0) . print("random: ", random.random()) #rando
-
详解Python的三种可变参数
可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表 关键字参数 关键字参数在python中习惯用**kw表示,可以传入0到任意多个"关键字-值",参数在函数内部被当做一个字典结构.例如 def testArg(**kw) def testArg(city,**kw) 可以这样调用他 testArg(name='John',job='h
-
详解python运行三种方式
方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ python Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Type "help", "copyright&
随机推荐
- 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法
- Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
- cmd replace 文件替换使用说明
- 微软又爆预留后门 警方可轻松获取硬盘资料
- 怎样把Windows server 2003转换成工作站系统
- python开发之str.format()用法实例分析
- Win2003服务器网络负载平衡的配置方法[图文]
- Android实现带附件的邮件发送功能
- Android 加载GIF图最佳实践方案
- php基于表单密码验证与HTTP验证用法实例
- python中精确输出JSON浮点数的方法
- JS获取当前脚本文件的绝对路径
- PowerShell中实现播放WAV音频文件
- PHP中的output_buffering详细介绍
- jQuery的几个我们必须了解的特点
- javaScript实现复选框全选反选事件详解
- WIN2003下IIS6集成一个或多个Tomcat的方法
- Node.js成为Web应用开发最佳选择的原因
- 详解C#开发Android应用程序的流程
- Java matches类,Pattern类及matcher类用法示例