Python 基础语法是编程的基石,以下从核心要素到实用技巧进行系统梳理:
一、代码结构规范
缩进规则
- 使用4个空格缩进(PEP 8标准)
- 缩进定义代码块(如函数、循环、条件语句)
def greet(name): if name: # 正确缩进 print(f"Hello, {name}!") else: # 正确对齐 print("Hello, Guest!")
行长度限制
- 每行代码建议不超过79个字符(超长时用反斜杠
\
或括号换行)
result = (value1 + value2 - value3 * value4)
- 每行代码建议不超过79个字符(超长时用反斜杠
二、变量与数据类型
1. 变量命名
- 规则:字母/数字/下划线组合,区分大小写,不以数字开头
- 惯例:小写字母+下划线(如
user_age
),常量全大写(如MAX_SIZE
)
2. 动态类型
count = 10 # int
count = "Ten" # 类型自动变为str
3. 核心数据类型速查表
类型 | 示例 | 特性 |
---|---|---|
int | 42 , 0b1010 |
任意精度整数 |
float | 3.14 , 2.5e3 |
浮点数精度约15位 |
str | 'Python' , """多行字符串""" |
不可变,支持f-string格式化 |
list | [1, "a", True] |
可变,支持任意类型混合 |
dict | {"name": "Alice", 3: [4,5]} |
键唯一且不可变 |
tuple | (1, 2, 3) |
不可变,可作字典键 |
set | {1, 2, 3} |
唯一元素,无序 |
bool | True , False |
继承自int类型 |
None | None |
表示空值 |
三、运算符全家福
1. 运算优先级速记口诀
算术 > 位运算 > 比较 > 逻辑 > 赋值
(括号可强制提升优先级)
2. 特殊运算符
- 链式比较:
1 < age < 100
(等价于age > 1 and age < 100
) - 海象运算符(Python 3.8+):
if (n := len(data)) > 10:
(赋值表达式) - 矩阵乘法:
@
(需numpy支持)
四、流程控制
1. 条件语句进阶
# 三元表达式
status = "Even" if num % 2 == 0 else "Odd"
# 模式匹配(Python 3.10+)
match value:
case 0:
print("Zero")
case _ if value < 0:
print("Negative")
case _:
print("Positive")
2. 循环控制技巧
# 遍历字典
for key, val in my_dict.items():
print(f"{key}: {val}")
# 无限循环
while True:
if condition:
break # 退出循环
elif error:
continue # 跳过本次迭代
五、函数设计
1. 基础定义
def calculate(a, b, operation="+"):
"""通用计算函数
Args:
a (int/float): 第一个操作数
b (int/float): 第二个操作数
operation (str): 运算符,默认为加法
"""
return {
"+": a + b,
"-": a - b,
"*": a * b,
"/": a / b if b !=0 else "Error"
}.get(operation, "Invalid Op")
2. 高级特性
- 默认参数陷阱:避免使用可变对象(如
def func(a=[])
) - 关键字参数:
func(a=1, b=2)
- 位置参数:
*args
接收元组,**kwargs
接收字典
六、输入输出
1. 格式化输出
name = "Alice"
age = 25
print(f"{name} is {age} years old.") # f-string(推荐)
print("{} is {} years old.".format(name, age))
2. 文件操作
# 写入文件
with open("data.txt", "w", encoding="utf-8") as f:
f.write("Hello, World!\n")
# 读取文件
with open("data.txt", "r") as f:
content = f.read()
七、异常处理
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以零!")
except (TypeError, ValueError) as e:
print(f"类型错误: {str(e)}")
else: # 无异常时执行
print("计算成功")
finally: # 始终执行
print("操作结束")
八、模块化编程
# 导入模块
import math
from collections import defaultdict
# 自定义模块
# 在my_module.py中定义:
def greet(name):
return f"Hello, {name}!"
# 使用模块
import my_module
print(my_module.greet("Python"))
九、编码规范(PEP 8要点)
- 导入模块顺序:标准库 > 第三方库 > 本地库
- 运算符周围加空格:
x = y + 3
- 函数/类之间空两行,方法之间空一行
- 注释使用英文,行注释以
#
开头
掌握这些基础语法后,可逐步进阶学习:面向对象编程、装饰器、生成器、异步编程等高级特性。建议通过实际项目(如开发简单计算器、待办事项管理器)巩固知识。