Python还在原地踏步?今天女友程序员教你Python中下划线的 6 个作用

本文介绍了Python中下划线的几种用途,如存储上次计算结果、表示非重要变量、私有变量的标识以及魔术方法。此外,还提到如何通过整理的学习资料体系化地学习Python开发。
摘要由CSDN通过智能技术生成

1、用在 Python 解释器,表示上一次的执行结果

即使不把 Python 用于编程,也可以把它用作智能计算器,下划线保存上次的计算结果,在计算时相当方便:

4 + 3

7

_

7

_ + 2

9

a = 10

_

9

2、代码中一个独立的下划线,表示这个变量不重要

一个独立的下划线,它也是一个变量名,只不过它比较特殊,当你使用下划线作为变量名时,就代表你告诉大家,这个变量不重要,仅仅占个位置,可以忽略,后面不会再使用它。

当然了,这只是一种约定俗成,你要是不遵守也是可以的,毕竟在后面你还可以通过下划线来获取这个变量的值。

for i, _ in [(1, 2), (3, 4)]:

print(i)

上面的代码表示我们只需要列表内部元组的第一个,第二个其实赋值给了下划线,虽然后面你可以通过下滑线来取到值,但是强烈建议你不要这么做,这违反了约定。

3、类的内部,双下划线作为变量名或函数名的开头,表示私有

私有变量或函数,只能在类的内部来使用,不可在外部访问或更改,比如,在 module_b.py 中有一个类 A,类 A 有一个双下划线开头的变量名:

class A:

__private_var = 1000

def init(self) -> None:

self.__private_var2 = 2000

self.var3 = 3000

当我们在另一个文件中引用 A 时,就无法访问到私有变量:

import module_b

if name == ‘main’:

a = module_b.A()

print(a.__private_var)

这里会报错

当然了,如果你一定要访问,也是可以的,只需在私有变量前加个_类名,比如上面的代码中改为 print(a._A__private_var) 就可以正确打印 1000。

不能直接访问 __private_var 是因为 Python 解释器对外把__private_var 变量改成了_A__private_var

print(dir(a))

#[‘_A__private_var’, ‘_A__private_var2’, ‘class’, ‘delattr’, ‘dict’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘module’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘weakref’, ‘var3’]

有些时候,你会看到以一个下划线开头的实例变量名,比如 _name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

Python 本身没有任何机制阻止你干坏事,一切全靠自觉

4、双下划线开头和结尾的方法,是魔术方法

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值