Python 的语法设计从一开始就把可读性放在首位。这一节我们讲三个最基础的约定:变量与命名、源文件编码、以及 Python 最独特的缩进语法。它们是你写下的每一行代码都要遵守的规则,也是团队协作的基石。
变量与赋值
Python 的变量不需要声明类型,直接赋值即创建:
name = "Alice" # 字符串
age = 30 # 整数
price = 19.99 # 浮点数
is_active = True # 布尔值
- 变量名只是一个标签,指向内存中的对象。同一个变量可以先后指向不同类型的对象(动态类型)。
- 赋值语句
=是绑定操作,而非“拷贝值”。后面讲到可变对象时会深入。
命名规范
好的命名让代码自解释,Python 社区遵循 PEP 8 规范:
- 变量和函数名:小写字母,单词间用下划线
_连接(snake_case)。
例:user_name、calculate_total()
- 常量:全大写字母,下划线分隔。
例:MAX_RETRY_COUNT = 3
- 类名:驼峰命名法,首字母大写(PascalCase)。
例:UserProfile、OrderManager
- 模块和包名:简短小写,可用下划线。
例:utils.py、data_parser
- 私有属性/方法:约定以单下划线
_开头,表示“内部使用,不建议外部调用”。
例:_internal_cache
- 特殊变量/方法:以双下划线包围,通常是系统定义的魔法方法。
例:init、str
另外,命名应见名知义,避免单字母(除循环中的 i、j 等),避免拼音和缩写混淆。
源文件编码
- 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 “可读性优先”最直观的体现。