首页 / Python3 入门教程 / 基础语法:缩进与标识符

Python3 入门教程

基础语法:缩进与标识符

本教程共 70 篇 · 第 6 篇 · 更新于 2026-07-22 · 约 4 分钟阅读

PythonPython3 入门教程Python 缩进标识符Python 关键字代码块

6. 基础语法:缩进与标识符

本节目标:掌握 Python 最核心的语法规则——缩进和标识符,能写出合法、规范的代码。

缩进是语法,不是风格

Python 最独特的地方,是用缩进来表示代码块,而不是大括号 {}

if True:
    print("条件成立")
    print("这行和上面是一块的")
else:
    print("条件不成立")

if 语句后面的两行缩进相同,属于同一个代码块。如果缩进不一致,会直接报错:

if True:
    print("第一行")
  print("缩进不对")   # IndentationError
Warning

混用空格和 Tab 是灾难之源。明明看着对齐,Python 却报缩进错误。在编辑器里设置「Tab 自动转为 4 个空格」,可以从根本上杜绝这个问题。

缩进的空格数没有硬性规定,但社区共识是 4 个空格。这是 PEP 8 的推荐,也是几乎所有 Python 项目的实际标准。

代码组:冒号 + 缩进

ifwhiledefclass 等关键字开头的复合语句,行尾加冒号 :,下一行开始缩进,就构成了一个代码组。

def greet(name):
    print(f"Hello, {name}")
    print("Welcome!")


if name == "Alice":
    greet(name)
    print("她是管理员")
else:
    print("普通用户")
Note

函数和函数之间空 2 行,函数内部逻辑紧凑不空行。空行不是语法,但能让代码更易读。

标识符命名规则

标识符就是变量名、函数名、类名这些。Python 的标识符规则很简单:

  1. 首字符必须是字母(a-z, A-Z)或下划线 _
  2. 其余部分可以是字母、数字、下划线
  3. 区分大小写:nameName 是两个不同的标识符
  4. 不能用关键字(如 ifforclass
# 合法的标识符
age = 25
user_name = "Alice"
_total = 100
MAX_SIZE = 1024

# 非法的标识符
2nd_place = "silver"   # 数字开头
user-name = "Bob"      # 含连字符
class = "Math"         # 用了关键字

Python 3 支持 Unicode 标识符,所以理论上可以用中文变量名:

姓名 = "张三"
π = 3.14159
Tip

技术上合法,但生产环境里别用中文变量名。协作时英文是通用语言,用中文会让代码难以维护。

关键字一览

关键字是 Python 预留的单词,不能当标识符用。完整列表如下:

import keyword
print(keyword.kwlist)

常见关键字按功能分类:

类别关键字
逻辑值True, False, None
逻辑运算and, or, not
条件控制if, elif, else
循环控制for, while, break, continue
函数/类def, return, lambda, class
异常处理try, except, finally, raise
模块导入import, from, as
作用域global, nonlocal
异步编程async, await
其他pass, assert, del, in, is, with, yield

多行语句

Python 默认一行一条语句。如果太长需要换行,有两种方式:

方式一:反斜杠 \

total = item_one + \
        item_two + \
        item_three

方式二:括号内自动换行(推荐)

total = (item_one +
         item_two +
         item_three)

my_list = [
    'item_one', 'item_two', 'item_three',
    'item_four', 'item_five'
]

括号内换行不需要反斜杠,也更不容易出错。

同一行多条语句

用分号 ; 可以在同一行写多条语句,但不推荐

import sys; x = 'hello'; sys.stdout.write(x + '\n')

这种写法降低了可读性。除非是在交互模式里快速测试,否则一行只写一条语句。


来源:参考了 runoob「Python3 基础语法」、liaoxuefeng「Python 基础」、w3cschool「Python3 基础语法」等,改写后所得。