Python 是一种解释型、高级、通用型编程语言,以简洁易读的语法和强大的生态系统著称。以下是 Python 核心知识框架,涵盖入门到进阶的关键内容,帮助你系统学习:
一、基础语法
-
变量与数据类型
- 变量声明:动态类型(无需指定类型),如
x = 10、name = "Python" - 基本类型:
int(整数)、float(浮点数)、str(字符串)、bool(布尔值)、None(空值) - 容器类型:
list(列表)、tuple(元组)、dict(字典)、set(集合)
- 变量声明:动态类型(无需指定类型),如
-
运算符
- 算术运算:
+、-、*、/(浮点数除法)、//(整数除法)、%(取模)、**(幂运算) - 比较运算:
==、!=、>、<、>=、<= - 逻辑运算:
and、or、not - 赋值运算:
=、+=、-=、*=、/=等 - 成员运算:
in、not in(判断元素是否在容器中)
- 算术运算:
-
流程控制
-
条件判断:
if-elif-elsepython
运行
if score >= 90: print("优秀") elif score >= 60: print("及格") else: print("不及格") -
循环:
for循环(遍历容器)、while循环(条件循环)python
运行
# for 循环 for i in range(5): print(i) # while 循环 count = 0 while count < 3: print(count) count += 1 -
循环控制:
break(终止循环)、continue(跳过当前迭代)
-
-
函数
-
定义:
def关键字,支持参数默认值、可变参数python
运行
def add(a, b=0): # b 有默认值 return a + b def sum(*args): # 可变参数(接收任意个 positional 参数) return sum(args) -
作用域:全局变量(
global关键字)、局部变量 -
匿名函数:
lambda(简洁的单行函数)python
运行
f = lambda x: x * 2 print(f(3)) # 输出 6
-
二、数据结构
-
列表(List)
- 有序、可变,元素可重复,用
[]表示:lst = [1, 2, 3, "a"] - 常用操作:
append()(添加元素)、extend()(扩展列表)、insert()(插入元素)、remove()(删除元素)、pop()(弹出元素)、sort()(排序)、reverse()(反转)
- 有序、可变,元素可重复,用
-
元组(Tuple)
- 有序、不可变,元素可重复,用
()表示:tup = (1, 2, 3) - 特点:不可修改,适合存储固定数据(如坐标、配置项)
- 有序、不可变,元素可重复,用
-
字典(Dict)
- 无序(Python 3.7+ 有序)、可变,键值对结构,用
{}表示:dic = {"name": "Tom", "age": 20} - 常用操作:
dic["key"](获取值)、dic.get("key", default)(安全获取值)、dic["new_key"] = value(添加键值对)、del dic["key"](删除键值对)、keys()/values()/items()(遍历键 / 值 / 键值对)
- 无序(Python 3.7+ 有序)、可变,键值对结构,用
-
集合(Set)
- 无序、可变,元素不可重复,用
{}或set()表示:s = {1, 2, 3} - 常用操作:
add()(添加元素)、remove()(删除元素)、union()(并集)、intersection()(交集)、difference()(差集)
- 无序、可变,元素不可重复,用
三、面向对象
-
类与对象
-
定义类:
class关键字,__init__方法(构造函数,初始化对象属性)python
运行
class Person: def __init__(self, name, age): # 构造函数 self.name = name # 实例属性 self.age = age def say_hello(self): # 实例方法 print(f"Hello, I'm {self.name}") -
创建对象:
p = Person("Tom", 20) -
访问属性 / 方法:
p.name、p.say_hello()
-
-
继承
-
子类继承父类:
class Student(Person):,可重写父类方法python
运行
class Student(Person): def __init__(self, name, age, grade): super().__init__(name, age) # 调用父类构造函数 self.grade = grade # 子类新增属性 def say_hello(self): # 重写父类方法 print(f"Hello, I'm {self.name}, grade {self.grade}")
-
-
封装
-
私有属性 / 方法:用
__开头(名称 mangling,外部无法直接访问)python
运行
class Person: def __init__(self, name): self.__name = name # 私有属性 def get_name(self): # 公共方法(访问私有属性) return self.__name
-
-
多态
- 不同子类对同一方法的不同实现,无需显式声明
四、模块与包
-
模块
-
一个
.py文件就是一个模块,可通过import导入python
运行
import math # 导入整个模块 print(math.pi) # 使用模块中的属性/函数 from math import pi # 导入模块中的特定属性/函数 print(pi)
-
-
包
- 多个相关模块组成的文件夹(需包含
__init__.py文件,Python 3.3+ 可省略) - 导入方式:
from package_name import module_name
- 多个相关模块组成的文件夹(需包含
五、文件操作
-
基本读写
-
打开文件:
open(file_path, mode),mode包括r(读)、w(写,覆盖)、a(追加)、r+(读写)等 -
推荐使用
with语句(自动关闭文件,避免资源泄露)python
运行
# 读取文件 with open("test.txt", "r", encoding="utf-8") as f: content = f.read() # 读取全部内容 # content = f.readline() # 读取一行 # content = f.readlines() # 读取所有行,返回列表 # 写入文件 with open("test.txt", "w", encoding="utf-8") as f: f.write("Hello, Python!") # 写入内容 f.writelines(["a\n", "b\n"]) # 写入多行
-
六、异常处理
-
基本语法
-
try-except捕获异常,else(无异常时执行)、finally(无论是否异常都执行)python
运行
try: x = 1 / 0 except ZeroDivisionError as e: print(f"异常:{e}") else: print("无异常") finally: print("执行完毕")
-
-
自定义异常
-
继承
Exception类python
运行
class MyError(Exception): pass raise MyError("自定义异常") # 抛出异常
-
七、常用标准库
os:操作系统相关操作(文件路径、目录)sys:系统参数和函数(命令行参数、退出程序)datetime:日期时间处理json:JSON 数据编码 / 解码csv:CSV 文件读写re:正则表达式操作
八、进阶知识
-
装饰器
-
动态修改函数 / 类的功能,语法糖
@decoratorpython
运行
def log_decorator(func): def wrapper(*args, **kwargs): print(f"调用函数:{func.__name__}") return func(*args, **kwargs) return wrapper @log_decorator # 应用装饰器 def add(a, b): return a + b
-
-
生成器
-
用
yield关键字定义,惰性生成数据(节省内存)python
运行
def fib(n): a, b = 0, 1 for _ in range(n): yield a # 生成一个值 a, b = b, a + b for num in fib(5): print(num) # 输出 0,1,1,2,3
-
-
迭代器
- 实现
__iter__()和__next__()方法的对象,支持for循环遍历
- 实现
-
上下文管理器
- 实现
__enter__()和__exit__()方法,用with语句管理资源(如文件、数据库连接)
- 实现
-
多线程 / 多进程
threading模块(多线程,适合 I/O 密集型任务)multiprocessing模块(多进程,适合 CPU 密集型任务,避免 GIL 限制)