【Python 基础语法】
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
- 函数/类之间空两行,方法之间空一行
- 注释使用英文,行注释以
#
开头
掌握这些基础语法后,可逐步进阶学习:面向对象编程、装饰器、生成器、异步编程等高级特性。建议通过实际项目(如开发简单计算器、待办事项管理器)巩固知识。