ENTITY
Python
核心定义
Python是由吉多·范罗苏姆研发的开源跨平台高级通用编程语言,设计哲学强调代码可读性与简洁性,语法接近自然语言,开发效率远高于C++、Java等编译型语言。依托庞大的第三方生态,Python已成为Web开发、数据处理、人工智能、大模型应用开发等领域的首选开发语言,也是编程入门的主流教学语言。
安装与版本管理
安装渠道
官方唯一正规下载渠道为python.org,安装包适配Windows、macOS、Linux三大主流操作系统,用户可按需选择对应版本下载安装。
多版本共存规则
单设备支持安装任意数量的Python版本(甚至可重复安装相同版本),系统默认生效的Python版本由环境变量PATH中排序最靠前的python.exe所在路径决定,可通过命令行执行python --version查看当前默认版本。
虚拟环境管理
Python原生支持虚拟环境隔离机制,可避免不同项目的依赖库版本冲突,主流管理方式有两种:
- 原生venv工具:Python3.3+版本内置的轻量虚拟环境工具,无需额外安装,执行命令
python -m venv 环境名即可在指定目录(通常为项目根目录)创建完全隔离的虚拟环境,支持随项目迁移,Windows系统下的激活命令为进入虚拟环境目录后执行\Scripts\Activate.ps1。 - conda工具:适合复杂多环境管理的第三方工具,同版本Python及公共依赖库会统一存储在
anaconda/pkgs目录下,多环境可共享引用避免重复下载,激活命令为conda activate 环境名。 相关详情可参考Python虚拟环境。
核心语法特性
1. f-string字符串格式化
Python3.6+版本支持的主流字符串格式化方案,字符串前加f前缀即可直接在{}内嵌入变量或表达式,语法简洁直观,示例:f"问题:{question} 回答:",可替代老式的%格式化与str.format()方法。
2. 类型注释
用于声明变量、函数参数、返回值的预期数据类型,运行时不强制校验,但可大幅提升代码可读性与可维护性,支持从内置typing模块导入扩展类型:
- 基础示例:
def add(a: int, b: int) -> int表示函数接收两个int类型参数,返回值为int类型 - 扩展类型:
Optional[int]等价于Union[int, None],表示参数可接受int类型或None值
3. 可变参数
支持两种可变参数形式,大幅提升函数通用性:
*args:接收任意数量的位置参数,自动封装为元组**kwargs:即Python关键字参数(kwargs),接收任意数量的关键字参数,自动封装为字典;函数调用时也可通过**运算符解包字典为关键字参数传入
4. 装饰器
以@符号为标记的语法糖,可在不修改原函数代码的前提下为函数附加额外功能,详情可参考Python装饰器:
- 内置常用装饰器:
@property(将方法伪装为属性调用)、@classmethod(标记类方法,第一个参数为类本身cls)、@staticmethod(标记静态方法,无需接收self/cls参数) - 第三方场景:Pydantic库中大量使用装饰器实现字段校验,例如
@field_validator("字段名")可指定对应字段的校验规则,无需手动传参
5. 面向对象编程
原生支持面向对象开发范式:
- 通过
class关键字定义类,支持单继承、多继承 __init__为构造方法,用于类实例初始化,self关键字指向当前实例本身super()方法可直接调用父类的对应方法- 支持实例方法、类方法、静态方法三种方法类型
典型应用场景
- Web开发:常用FastAPI、Django、Flask等框架,其中FastAPI是当前大模型应用接口开发的首选框架,依托Python类型注释特性可自动生成接口文档,性能接近Go、Node.js等语言实现。
- 数据科学与人工智能:支持Pandas、NumPy、PyTorch、TensorFlow等主流数据处理、AI训练推理库,是大模型训练、微调、应用开发的主流编程语言。
- 自动化工具开发:语法简洁开发效率高,适合快速实现脚本、批量处理工具等业务需求。
相关条目
Python学习笔记 摘要、Python虚拟环境、Python关键字参数(kwargs)、Python装饰器、Pydantic、FastAPI、LangServe、ASGI服务器