人人都会AI编程

7.1 变量与命名规范、编码规则、缩进语法

更新时间:2026-07-12

Python 的语法设计从一开始就把可读性放在首位。这一节我们讲三个最基础的约定:变量与命名、源文件编码、以及 Python 最独特的缩进语法。它们是你写下的每一行代码都要遵守的规则,也是团队协作的基石。

变量与赋值

Python 的变量不需要声明类型,直接赋值即创建:

name = "Alice"      # 字符串
age = 30            # 整数
price = 19.99       # 浮点数
is_active = True    # 布尔值
  • 变量名只是一个标签,指向内存中的对象。同一个变量可以先后指向不同类型的对象(动态类型)。
  • 赋值语句 = 是绑定操作,而非“拷贝值”。后面讲到可变对象时会深入。

命名规范

好的命名让代码自解释,Python 社区遵循 PEP 8 规范:

  • 变量和函数名:小写字母,单词间用下划线 _ 连接(snake_case)。

例:user_namecalculate_total()

  • 常量:全大写字母,下划线分隔。

例:MAX_RETRY_COUNT = 3

  • 类名:驼峰命名法,首字母大写(PascalCase)。

例:UserProfileOrderManager

  • 模块和包名:简短小写,可用下划线。

例:utils.pydata_parser

  • 私有属性/方法:约定以单下划线 _ 开头,表示“内部使用,不建议外部调用”。

例:_internal_cache

  • 特殊变量/方法:以双下划线包围,通常是系统定义的魔法方法。

例:initstr

另外,命名应见名知义,避免单字母(除循环中的 ij 等),避免拼音和缩写混淆。

源文件编码

  • Python 3 默认源文件编码为 UTF-8,可以直接写中文:
  message = "你好,世界!"
  
  • 如需显式声明,在文件第一行或第二行写上:
  # -*- coding: utf-8 -*-
  

实际开发中几乎不需要手写,因为 UTF-8 已是默认。

  • 如果处理其他编码的文件(如 GBK),在 open() 时指定 encoding 参数即可。

缩进语法

这是 Python 最鲜明的特征:用缩进表示代码块,而非大括号。强制缩进等于强制了代码的可读性。

  • 同一代码块内的语句必须保持相同的缩进量,通常用 4 个空格(PEP 8 推荐)。
  • 不要混用空格和制表符(Tab),这会导致隐晦的错误。
  • 示例:
  def greet(name):
      if name:
          print(f"Hello, {name}!")   # 缩进 4 空格
      else:
          print("Hello, stranger!")
  
  • 冒号 : 表示一个新的代码块开始,随后缩进一行。
  • 可以在语句内部用括号 () 进行换行,这时不需要额外缩进对齐:
  total = (first_number
            + second_number
            + third_number)
  

习惯之后,缩进会让代码结构一目了然,阅读时几乎不用费力判断哪个语句属于哪个块。这是 Python “可读性优先”最直观的体现。