python中下划线_的作用

目前知道的有6个作用,具体如下:

  • 用在python解释器,表示上一次执行的结果,例如在jupyter notebook等交互式的编程环境,表示上一次执行的结果
  • 代码中一个独立的下划线_,表示这个变量不重要,可以忽略
  • 类内双下划线表示变量或者函数私有
  • 双下划线开头和结尾的方法,又叫魔术方法
  • 变量名中间的下划线,表示蛇形命名方法
  • 数字中间的下划线,增强易读性
    接下来,逐一用示例来看一下。

1. 在交互环境中,表示上一次执行结果

python 单下划线函数 python类单下划线_python 单下划线函数

2. 代码中独立的下划线

python 单下划线函数 python类单下划线_python_02

3. 类中私有变量

python 单下划线函数 python类单下划线_私有属性_03


私有变量或函数,只能在类的内部使用,不能在外部访问或者更改

引申:python中还有单下划线_,称为受保护属性,就是和python程序员约定, 不会在类外部使用该属性,编译器不会对该属性做任何处理。所以直接访问该属性也是可行的。
而双下划线__则表示私有,需要私有属性的原因在于在父类中定义的内部属性,不希望在外部改变,而子类在继承了父类,然后定义了相同属性,则会将父类的同名属性给覆盖,所以需要使用私有属性加以保护。
私有属性仅在类内访问,在外部不能访问,例如:

class A:
    def __init__(self, x, y, z):
        self.x = x
        self._y = y
        self.__z = z

python 单下划线函数 python类单下划线_下划线_04


python会在内部会将私有属性__z改名为_A__z. 所以使用a.__z并找不到该属性. 使用a._A__z是可以操作__z属性的。 这种语言特性叫做名称改写。

4. 魔术方法

python 单下划线函数 python类单下划线_下划线_05


python中最常用的魔术方法是__init__,其也叫构造函数,因为在实例化类时会默认去调用。还有另外一个魔术方法__call__,这个方法用来判断

实例化之后的类对象是否可以去调用,其在类对象调用方法或者属性时默认调用,或者通过手动调用。

5. 蛇形命名法

例如user_id

引申:代码的命名目前有两种:驼峰命名和匈牙利命名
驼峰命名法分为小驼峰和大驼峰,小驼峰法:变量第一个单词首字母小写,后面单词首字母均大写如myFirstName;大驼峰法也称帕斯卡命名法(pascal)常用于类名、函数名、属性、命名空间,相比小驼峰法,大驼峰把第一个单词也大写了如
public class PersonModel 匈牙利命名法的基本原则是变量名=属性+类型+对象描述,例如m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
下面分别用驼峰命名法和蛇形命名法命名的同一函数:

printEmployeePaychecks();骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记
print_employee_paychecks();下划线法----函数名中的每一个逻辑断点都有一个下划线来标记

6. 数字中间的下划线

python 单下划线函数 python类单下划线_私有属性_06