W
AI-Wiki
ENTITY

Python

核心定义

Python是由吉多·范罗苏姆研发的开源跨平台高级通用编程语言,设计哲学强调代码可读性与简洁性,语法接近自然语言,开发效率远高于C++、Java等编译型语言。依托庞大的第三方生态,Python已成为Web开发、数据处理、人工智能、大模型应用开发等领域的首选开发语言,也是编程入门的主流教学语言。

安装与版本管理

安装渠道

官方唯一正规下载渠道为python.org,安装包适配Windows、macOS、Linux三大主流操作系统,用户可按需选择对应版本下载安装。

多版本共存规则

单设备支持安装任意数量的Python版本(甚至可重复安装相同版本),系统默认生效的Python版本由环境变量PATH中排序最靠前的python.exe所在路径决定,可通过命令行执行python --version查看当前默认版本。

虚拟环境管理

Python原生支持虚拟环境隔离机制,可避免不同项目的依赖库版本冲突,主流管理方式有两种:

  1. 原生venv工具:Python3.3+版本内置的轻量虚拟环境工具,无需额外安装,执行命令python -m venv 环境名即可在指定目录(通常为项目根目录)创建完全隔离的虚拟环境,支持随项目迁移,Windows系统下的激活命令为进入虚拟环境目录后执行\Scripts\Activate.ps1
  2. 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()方法可直接调用父类的对应方法
  • 支持实例方法、类方法、静态方法三种方法类型

典型应用场景

  1. Web开发:常用FastAPI、Django、Flask等框架,其中FastAPI是当前大模型应用接口开发的首选框架,依托Python类型注释特性可自动生成接口文档,性能接近Go、Node.js等语言实现。
  2. 数据科学与人工智能:支持Pandas、NumPy、PyTorch、TensorFlow等主流数据处理、AI训练推理库,是大模型训练、微调、应用开发的主流编程语言。
  3. 自动化工具开发:语法简洁开发效率高,适合快速实现脚本、批量处理工具等业务需求。

相关条目

Python学习笔记 摘要Python虚拟环境Python关键字参数(kwargs)Python装饰器PydanticFastAPILangServeASGI服务器