Python 基础语法

环境装好后,我们来系统过一遍 Python 的基础语法。这一章不涉及复杂概念,只讲程序"长什么样"——缩进、注释、关键字、代码结构。读完你就能看懂任何 Python 代码的大致框架。

1. Python 程序的基本结构

一个 Python 程序最少就是一行代码,没有 C 语言那样的 main() 函数、没有 Go 的 package main。脚本从上往下逐行执行。要"组织"代码时,才用 def 定义函数、class 定义类。

# Python 用缩进表示代码块(通常 4 个空格)
def greet(name):
    if name:
        # 下一行缩进更深,属于 if 内部
        message = "Hello, " + name
        print(message)
    # 缩进回到 if 外层,属于 greet 函数
    print("完成")

# 缩进回到函数外层,是顶层语句
greet("小明")
# 输出:
# Hello, 小明
# 完成

几个要点:

2. 缩进是语法的一部分(重要!)

这是 Python 最特别、也是新手最容易踩坑的地方。在其他语言里缩进只是"美观",错了照样能跑;但在 Python 里缩进就是语法,错了会直接报错。

# ❌ 错误:同一个代码块缩进不一致
def f():
    a = 1
   b = 2      # 这行少了 1 个空格,会报 IndentationError
    print(a)

# ❌ 错误:混用 Tab 和空格
def g():
	name = "x"     # Tab 缩进
    age = 20       # 空格缩进,会报错

规则很简单:

3. 注释

注释是给人看的,解释器会忽略。# 后面的内容就是单行注释;多行注释用三引号字符串。

# 这是单行注释,# 开头,到行尾结束

# 注释可以独占一行,也可以跟在代码后面
age = 20   # 这是年龄变量

"""
这是多行注释(其实是字符串),
用三引号包裹,可以跨多行。
常用于函数/类的文档说明(docstring)。
"""

'''
也可以用三个单引号,效果一样
'''

三引号字符串的"特殊用法":紧跟在 defclass 后面的第一个字符串,叫文档字符串(docstring),会被 Python 当作函数/类的说明文档,用 help(函数名) 就能看到。养成写 docstring 的习惯,代码可读性立刻提升。

4. 语句与多行书写

Python 默认一行就是一条语句,但有时一行写不下,有几种续行方式:

# 一行一条语句,不需要分号
a = 1
b = 2

# 一行写多条语句,用分号分隔(不推荐,可读性差)
c = 3; d = 4; print(c + d)

# 一条语句跨多行:用反斜杠 \ 续行
total = 1 + 2 + 3 + \
        4 + 5 + 6
print(total)   # 21

# 推荐:用括号自动续行,更清晰
names = [
    "Alice",
    "Bob",
    "Charlie",
]

推荐用括号(圆括号、方括号、花括号)续行,可读性比反斜杠好得多——这也是 PEP 8 的建议。

5. 标识符与命名规则

标识符就是程序员自己起的名字(变量、函数、类)。Python 命名规则:

6. Python 的关键字

Python 3.12 共有 35 个关键字(保留词),不能用作变量名。在解释器里输入下面代码就能查全:

import keyword
# 打印 Python 全部关键字
print(keyword.kwlist)
# Python 3.12 共 35 个关键字:
# False  None  True  and  as  assert  async  await
# break  class  continue  def  del  elif  else  except
# finally  for  from  global  if  import  in  is
# lambda  nonlocal  not  or  pass  raise  return
# try  while  with  yield  match  case

# 关键字不能用作变量名
# ❌ 错误: class = "我的类"  -> SyntaxError

不用刻意背,用多了自然记住。按用途分组记忆更容易:

7. PEP 8 代码风格

Python 社区有一份官方代码风格指南叫 PEP 8,几乎所有公司都遵守。几个最常用的规则:

VS Code 装上 Python 扩展后,默认会用 autopep8black 工具自动格式化,你只管写,保存时它帮你整理成 PEP 8 标准。

8. 字符编码

Python 3 源码默认就是 UTF-8 编码,所以代码里直接写中文完全没问题:

# Python 3 源码默认就是 UTF-8 编码
# 所以代码里直接写中文完全没问题
print("你好,世界")
# 输出: 你好,世界

# 如果用特殊编码,可以在文件第一行声明(很少用)
# -*- coding: utf-8 -*-

这比 Python 2 时代省心多了(那时中文经常报 SyntaxError: Non-ASCII character)。

小结

这一章你了解了 Python 程序的整体骨架:用缩进表示代码块、用 # 写注释、知道了 35 个关键字的分组、记住了 PEP 8 风格规范。下一篇我们看 Python 的变量——怎么给数据"起名字"。

← 上一篇 Python 环境安装

下一篇 Python 变量

✈️💬