Java程序员学Python学习笔记三:下划线的奥秘——Python标识符设计哲学

58 阅读1分钟

一、标识符基础规则

  1. 组成:字母/数字/下划线,禁止数字开头var_1合法,1_var非法)

  2. 大小写敏感name 和 Name 是不同的变量

  3. 命名风格

    • 变量/函数:蛇形命名(get_user_id
    • 类名:大驼峰(UserService

二、下划线的核心语义

模式示例含义Java对照
单下划线前缀_internal"内部使用"(非强制私有)protected成员
双下划线前缀__private名称改写(Name Mangling)private成员
双下划线包围__init__魔术方法(构造函数等)构造方法User()

示例解析

class User:  
    def __init__(self, name):  
        self.__id = 1001     # 私有成员(实际被改写为_User__id)  
        self._name = name    # 约定为内部属性  
      
    def __str__(self):       # 魔术方法:定义对象打印格式  
        return f"User: {self._name}"  

思维转换

  • Python用命名约定替代private关键字
  • 双下划线触发名称改写(编译器自动重命名为_类名__变量名