python横线怎么打_Python中的各种下划线

本文介绍了Python中不同类型的下划线的用途,包括单下划线、双下划线开头的变量和函数,以及魔法方法和魔法属性。单下划线主要用于接收无用变量或避免导入冲突,双下划线涉及名称改编和类的私有性,而魔法方法如`__init__`、`__new__`和`__iter__`则有特定的解释器处理方式。了解这些用法有助于更好地理解Python代码。
摘要由CSDN通过智能技术生成

Python中有各种各样的下划线变量与函数,看了很多博客和讲解,但是感觉还是很乱。尤其是有人拿C++中的私有变量一说来解释Python下划线是完全错误的。Python中不存在私有变量(这里的私有变量指不可直接用成员符.来访问),实际上Python中不同位置的下划线有不同的意义。现参照一些自己看过的博客、讲解归纳总结一下:单个下划线用作接收无用变量

例1:

a, _, _ = 1,2,3

print(a)

例2:

for _, val in enumerate(range(4)):

print(val)

2.单(多)个下划线作为模块内的变量(函数、类)名

如果我们在一个模块内定义了下划线开头(无论多少下划线)的变量、函数或类的话,当在别的文件中使用from module import *时,这些下划线变量不会被引用到文件内。

当然事情不是绝对的,以下几种情况还是可以把下划线变量import进来的:使用import module,此时还是可以使用module._name使用下划线变量

使用from module import _name,当然可以了 ^o^

还有一种情况,当module中定义了__all__的话,且__all__中定义了下划线变量,则还是会import进来。(__all__是个魔法属性,它是个用户可以定义的列表,可以在文件中定义它来控制import时引入的变量)

3.类内的下划线开头的变量(函数)名

具体来说分为两种:类内单下划线开头的变量名(包括类变量与实例变量)

类内双下划线开头的变量(函数)名

首先说单下划线:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值