SOURCE
Python学习笔记 摘要
文档概览
本笔记内容分为5个核心模块,覆盖从环境搭建到基础开发的全流程实操内容,所有代码示例均可直接复用:
- Python安装流程
- 虚拟环境激活规则
- 基础语法要点
- 类定义规范
- 常用库介绍
关键事实
- 环境规则:Python多版本共存原理为系统环境变量
Path中优先级最高的Python.exe路径决定默认调用版本,同一设备可安装多个Python版本甚至相同版本,每个虚拟环境需绑定指定Python版本;conda与venv两类虚拟环境差异明确:conda虚拟环境会复用anaconda/pkgs目录下的Python安装包与依赖库,相同版本不会重复下载,适合多项目依赖差异大的场景;venv为Python原生虚拟环境工具,创建的环境轻量隔离可随项目迁移,适合需要便携性的项目场景。 - 语法覆盖:包含Python关键字参数(kwargs)使用、字符串格式化、Python装饰器、类型注释、类方法定义等核心语法的实操代码示例。
- 常用库:包含Pydantic核心功能与基础使用方法说明,覆盖字段验证、元数据配置等核心开发场景。
重要细节
环境搭建与激活
- 安装:从Python官网下载对应版本安装包,系统默认Python版本由环境变量
Path中排序最靠前的Python.exe所在路径决定。 - 虚拟环境创建与激活:
- conda环境:创建时相同Python版本与依赖自动复用公共存储,激活命令为
conda activate 环境名 - venv环境:在项目目录下执行
python -m venv 环境名创建,激活需进入虚拟环境目录后执行\.\Scripts\Activate.ps1
- conda环境:创建时相同Python版本与依赖自动复用公共存储,激活命令为
核心语法实操
关键字参数kwargs
- 函数定义时
**kwargs会将传入的任意数量关键字参数收集为字典,示例代码:
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Alice", age=30, city="New York")
- 函数调用时
**可将字典解包为关键字参数传入,示例:
def greet(name, message):
print(f"{message}, {name}!")
person = {"name": "Bob", "message": "Hello"}
greet(**person)
字符串格式化
三种格式化方式对比如下:
| 格式化方式 | 占位符形式 | 示例(填充question变量) |
|---|---|---|
| str.format() | {}或{变量名} | prompt_style = "问题:{} 回答:".format(question) |
| f-string(最常用) | {变量名} | prompt_style = f"问题:{question} 回答:" |
| %格式化(老式) | %s(字符串)、%d(数字)等 | prompt_style = "问题:%s 回答:" % question |
装饰器
- 装饰器以
@符号为标记,可将额外功能注入到下方函数/方法中,无需修改原有代码逻辑 - 常用装饰器示例:
@field_validator("input_variables"):Pydantic专用字段验证装饰器,自动将绑定字段的值传入下方方法的value参数完成校验@property:将方法伪装为属性,调用方式从llm._identifying_params()简化为llm._identifying_params@classmethod:标记类方法,首个参数为cls代表类本身,无需实例化即可调用@staticmethod:标记静态方法,无需接收self或cls参数,与类/实例无绑定关系
类型注释
- 用于声明变量、函数参数、返回值的预期类型,运行时不强制校验,可提升代码可读性,支持IDE自动补全
- 示例:
def add(a: int, b: int) -> int表示函数接收两个int类型参数,返回值为int类型;Optional[int]等价于Union[int, None],表示参数可为int或None
类定义规范
标准类定义模板如下:
class 类名(父类, 可选):
# 构造方法,实例化时自动执行
def __init__(self, 参数1, 参数2, ...):
self.属性1 = 参数1
self.属性2 = 参数2
# 实例方法,需通过实例调用,首个参数self代表当前实例
def 方法名(self, 参数1: 类型) -> 返回类型:
# 业务逻辑
super()方法用于调用父类的同名方法- 变量/方法前加下划线表示为内部使用属性,不建议外部直接调用
常用库Pydantic
- 核心定位是数据验证与数据建模工具,自动完成格式校验、类型转换,降低数据异常排查成本
Field是Pydantic核心字段配置工具,用于给字段设置默认值、别名、验证规则、描述等元数据,示例:model_folder_path: Optional[str] = Field(default=None, alias="model_path")
相关条目
Python、Python虚拟环境、Python关键字参数(kwargs)、Python装饰器、Pydantic、FastAPI