python中下划线"_"的作用
python中下划线_
的作用
目前知道的有6个作用,具体如下:
- 用在
python
解释器,表示上一次执行的结果,例如在jupyter notebook
等交互式的编程环境,表示上一次执行的结果 - 代码中一个独立的下划线
_
,表示这个变量不重要,可以忽略 - 类内双下划线表示变量或者函数私有
- 双下划线开头和结尾的方法,又叫魔术方法
- 变量名中间的下划线,表示蛇形命名方法
- 数字中间的下划线,增强易读性
接下来,逐一用示例来看一下。
1. 在交互环境中,表示上一次执行结果
2. 代码中独立的下划线
3. 类中私有变量
私有变量或函数,只能在类的内部使用,不能在外部访问或者更改
引申:
python
中还有单下划线_
,称为受保护属性,就是和python程序员约定, 不会在类外部使用该属性,编译器不会对该属性做任何处理。所以直接访问该属性也是可行的。
而双下划线__
则表示私有,需要私有属性的原因在于在父类中定义的内部属性,不希望在外部改变,而子类在继承了父类,然后定义了相同属性,则会将父类的同名属性给覆盖,所以需要使用私有属性加以保护。
私有属性仅在类内访问,在外部不能访问,例如:
class A:
def __init__(self, x, y, z):
self.x = x
self._y = y
self.__z = z
python
会在内部会将私有属性__z
改名为_A__z
. 所以使用a.__z
并找不到该属性. 使用a._A__z
是可以操作__z
属性的。 这种语言特性叫做名称改写。
4. 魔术方法
python
中最常用的魔术方法是__init__
,其也叫构造函数,因为在实例化类时会默认去调用。还有另外一个魔术方法__call__
,这个方法用来判断
实例化之后的类对象是否可以去调用,其在类对象调用方法或者属性时默认调用,或者通过手动调用。
5. 蛇形命名法
例如user_id
。
引申:代码的命名目前有两种:驼峰命名和匈牙利命名
驼峰命名法分为小驼峰和大驼峰,小驼峰法:变量第一个单词首字母小写,后面单词首字母均大写如myFirstName
;大驼峰法也称帕斯卡命名法(pascal)常用于类名、函数名、属性、命名空间,相比小驼峰法,大驼峰把第一个单词也大写了如
public class PersonModel
匈牙利命名法的基本原则是变量名=属性+类型+对象描述,例如m_lpszStr
, 表示指向一个以0字符结尾的字符串的长指针成员变量。
下面分别用驼峰命名法和蛇形命名法命名的同一函数:
printEmployeePaychecks();骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记
print_employee_paychecks();下划线法----函数名中的每一个逻辑断点都有一个下划线来标记