Python 中各种下划线的骚操作:_、_xx、xx_、__xx、__xx__、_classname_

我们在定义一些变量或者方法的时候,常常会用到下划线,在 Python 中,下划线可是很有用处的哟,比如变量,有些是一个下划线开头的(_xx),有些是两个下划线开头的(__xx),有些是在名称的结尾添加下划线的(xx_),还有一些方法我们常常看到两个下划线开头和结尾的(__xx__) 等等…
为什么要这么写呢?它们都代表什么意思?我们以后如何定义好这些名称呢?那么接下来就是:
学习 Python 的正确姿势

1、只有一个下划线(_)是干嘛的呢?
在 Python 解释器里面,对单个下划线是有特殊的 “感情” 的,我来给你举个例子:
仔细看你会发现,_ 是有值的,这是因为在 Python 解释器里面, _ 会指向你最后一次执行的表达式。这在我们使用 Python 交互的时候常常会用到。
除此之外,我们还可以使用单个下划线来格式化变量的值,比如金额:
通过这样的表现,我们能更加易读, Python 也知道我们在表示什么。
再者,单个下划线还可以使用在循环语句中:
2、你常见的 __xx__
这种以两个下划线开头和结尾的命名方式,我想应该是你最常见到的了,比如我们之前说的类的初始化方法:
其实这些,我们叫它们为 “魔法函数” ,也就是说,它是 Python 内置好了的,我们可以直接拿来使用。所以你应该尽量避免做这样类似的以两个下划线开头和结尾的方式去命名。
3、单个下划线开头的 _xx
以单个下划线开头命名的方法或者变量,就是说明它是仅提供内部使用的。
举一个例子,我们来创建一个模块(handsomeb.py),然后在里面创建两个方法,一个以单个下划线开头命名,一个不以单个下划线开头命名:
接着我们去引用这个模块,分别执行模块中的方法:
当我们去执行 my_func() 输出 fxxkpython ,没毛病吧:
但是当我们去执行 _my_func() 的时候就不行了:
这时候它告诉我们 _my_func 没有定义,它只能被模块内部使用。
4、单个下划线结尾的 xx_
我们知道, Python 有许多关键词,比如 def、return、calss、pass 这些,它们都是有特殊的意义的,所以我们在定义变量或者方法的时候,不可以用它们来命名的,比如这样是错误的:
那么如果我们死都要这样定义名称呢?为了区分,在它们的后面添加一个下划线:
但是小帅b不建议这样命名,有那么多名称,何必去定义关键词相关的名称呢。
5、两个下划线开头的命名: __xx
这种命名的方式更多的是用在类的继承,通过两个下划线开头命名的成员,可以防止被子类重写。
我们来写一个这样的 Person 类:
可以看到,在 Person 这个类里面,有两个变量,一个是 name ,一个是 age。不过 age 是以两个下划线开头命名了。
当我们去实例化这个 Person 的时候,发现 name 可以正常访问,但是 __age 无法访问了。
我们来打印一下这个对象的属性:
仔细看,name 还是 name, 但是 __age 变成了 _Person__age。
所以我们无法重写原来的 __age:
我们来打印一下这个 Son 类的属性:
可以发现,son 里面的 __age 实质上已经变成了 _Son__age。所以你要得到真正重写的值可以这样:
6、一个下划线+类名+两个下划线开头的命名: _classname__xx
通过上面第 5 点的解释,那么还有这么一种命名方式应该对你来说就好理解了:
你可以这样去使用它:
ok,以上就是 Python 中各种下划线的用法和解释,希望对你有帮助,如果你看一遍之后有点懵,那就再看几遍吧。当你把别人忽略的东西掌握起来,你就比他们牛逼了。
ps: 如果你对 Python 这些骚操作感兴趣,不妨了解一下小帅b的私密干货:帅帅的 vip ,以上这一篇只是其中的一小篇 “甜点”,那么我们下回见咯,peace!
相关:
Python 被低估了的 10 个小技巧
Pycharm 被低估了的 10 个快捷键
这几个 Pycharm 插件能让你撸代码撸到高潮
让我知道
你正在看
(0)

相关推荐

  • 第2天:Python 基础语法

    Python 是一门脚本语言.脚本语言是一种介乎于 HTML 和诸如 JAVA . Visual Basic . C++ 等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂.严 ...

  • Python基础面试题及答案!10道题

    学完Python找工作面试时,面试官肯定会问到很多专业性的问题,比如:Python有哪些特点.什么是flask等.对此,为让大家面试更加顺利,找到心仪的工作,小编特准备了一篇有关Python常见面试题 ...

  • python - 内置对象 之 变量

    一.变量命名规划 1.命名规则 (1)命名内容只能是字母.下划线.数字 (2)名字第1字符只能是字母或下划线 (3)区分大小写 2.私有变量 (1)_xxx "单下划线" 开始的成 ...

  • Excel中插入下划线技巧

    版权所有 转载须经Excel技巧网/Office学吧允许 [ Excel ]:部分区域显示工作表背景

  • PPT中让人欲罢不能的骚操作:遮挡大法!

    嗨,各位木友们好呀,我是小木. 今天,我要给大家介绍一个相当吊的PPT技法--「遮挡法」! 听到遮挡这两个字,也许你以为我又要使出什么花里胡哨的装P手法了,骚年们莫慌,其实这个技巧你平时在做PPT时肯 ...

  • Word中调整下划线与文字之间间距的方法

    Word作为我们经常使用的办公软件之一,相信大家都知道,在Word文档中,文字下方是可以插入下划线的.但是因为大家都是简单地插入下划线,所以导致很多人印象当中,下划线和文字之间的距离是固定的.其实不然 ...

  • Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略

    Python语言学习之双下划线那些事:python和双下划线使用方法之详细攻略 双下划线介绍 1.关于双下划线的函数或方法或属性 __name__:前后加了双下划线是因为是因为这是系统定义的名字.普通 ...

  • 解放你的双手,21个python的骚操作,直呼牛逼(下)

    废话不多说,接上直接开整,我会以图片的形式放给大家看,不要想着偷偷复制,做编程就得边看边敲!!!

  • Python骚操作,提取pdf文件中的表格数据!

    在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...

  • 菜鸟记478-EXCEL中的页脚如何添加带下划线的签名行?

    万一您身边的朋友用得着呢? 各位朋友早上好,小菜继续和您分享经验之谈,截止今日小菜已分享450+篇经验之谈,可以文章编号或关键词进行搜索 以下才是今天的正式内容-- 摘要:本文介绍在EXCEL中,为页 ...

  • 不要眨眼!封面信息下划线对齐的全自动操作

    小白/撰文 来源/公众号:职场趣学(ID:qunideppt) 相信很多人在制作论文或其他文书封面时都会遇到一个问题: 就是封面信息的下划线总是做文字的小跟班,文字到哪,下划线就到哪 每次都要狂按空格 ...

  • 田英章退出中书协,是与“丑书”的决裂,还是有啥“骚操作”?

    最近在小视频中,也频频看到田英章老师,他的高研班开班了,也在小视频中频频看到他指导学员练字或者点评学员作品,尤其是他点评指导"断臂天使"詹晓敏的视频,让笔者感到很是震撼,对一位&q ...