基础用法

  • Python 语法
    • 注释
    • 基本数据类型和操作符
      • 数学运算
        • 加减乘除
        • 向下整除
        • 除法的结果是浮点数
        • 取模运算
        • 幂运算
      • 比较运算
        • 等于/不等于
        • 大于/小于
        • 范围操作
        • is/==
      • 布尔类型
        • 首字母大写的 True/False
        • 布尔运算
        • True/False 等价 1/0
        • 比较运算
        • None/0/emptry 容器都可以转为 False
      • 字符串
        • 可以用 " 或者 ’ 来创建字符串
        • 字符串拼接
        • 字符随机访问
        • 字符串长度
        • 格式化字符串 (> 3.6.0)
      • None
        • None 是对象
        • 不能使用 == 比较,需要用 is
    • 变量和基础输入输出
      • 打印函数
        • 简单打印
        • 指定结束符,不指定则是换行
      • 输入
      • 命名
        • 没有声明,只有赋值
        • 变量名是下划线格式
      • 访问未赋值的变量
      • if 表达式,类似于 ?: 三值判断
    • 集合
      • 列表
        • 定义列表
        • 列表追加值
        • 列表移除值(尾部)
        • 下标访问
        • 数组越界
        • 切片操作 [start, end) (li[start:end:step])
        • 深拷贝切片
        • 删除指定位置元素
        • 移除第一个出现的位置
        • 在指定下标插入一个元素
        • 找到第一个匹配元素的下标
        • 拼接列表
        • 元素是否在列表中
        • 列表长度
        • 列表乘法
      • 元祖
        • 不可修改的列表
        • 长度为 1 的元祖必须以 , 结尾
        • 类似列表的操作
        • 元组解构
        • 扩展解构
        • 元组创建时可以不带括号
        • 交换两个元素
      • 字典
        • 创建字典
        • 字典 key 需要是不可变对象
        • 查询某个 key 的值
        • 列出所有 key 的值
        • 列出所有 value 的值
        • 判断 key 是否存在
        • 查询不存在的 key
        • get 函数,查询不报错+指定默认值
        • 向 dict 添加值
        • 删除 dict 的值
        • dict 析构 >3.5
      • Set
        • 初始化
        • set 的值不可变
        • set 添加值
        • 判断元素是否在 set 中
    • 控制语句
      • if-elif-else
      • for-遍历 list
      • range 生成 [0,num) 可迭代数字
      • 指定开始/结束/步长的 range
      • 同时遍历列表的下标和值
      • while 循环
      • 异常处理
    • 函数
      • 使用 def 定义函数
      • 使用关键字参数调用函数
      • *args 接收位置参数
      • **kwargs 接收关键字参数
      • 返回多个值(以不带括号元祖形式)
      • 修改全局作用域
      • 函数是一等公民,可以作为返回值返回
      • 匿名函数
      • 列表推导式,用渐渐的写法,快速生成一个列表
      • 构造 dict
    • 模块
      • 直接导入模块
      • 导入模块中指定的函数
      • 导入模块中所有的函数(不推荐)
      • 简写模块名
      • 模块就是普通的 python 文件,模块名就是文件名
      • 如果本地文件夹有 math.py 它会优先内置的 math.py 加载
      • 创建类
      • 使用类
      • 继承
    • 迭代器/可迭代对象
      • 可迭代对象:能用来 for 遍历的对象
      • 迭代器,能被 next() 取值的对象
      • 生成器
    • 装饰器
      • 在不改变原函数的前提下,给函数包一层,从而增强它的功能
    • 类型系统
      • 类型标注
        • 在代码里面把参数、返回值、变量等期望是什么类型写出来
        • 类型是期望类型,不会默认强制检查,只是为了让人和工具看的更准确
        • 容器类型标注
        • 可选类型 None
        • 多种类型
        • Any 类型,不确定类型
        • 函数没有返回值
        • 泛型
        • 类型别名
    • python 命令
      • python -m
        • 把一个模块当成程序来运行
        • python -m <模块名字> 会去模块搜索路径找到模块,然后像主程序一样执行
        • 不带 -m 给的是一个文件,-m 给的是一个模块名
      • pip 安装
        • python -m pip –version 查看版本
        • python -m pip install requests 安装一个包
        • python -m pip install requests==2.31.0 安装指定版本的包
        • python -m pip install –upgrade requests 升级一个包
        • python -m pip list 查看已经安装的包
        • python -m pip freeze > requirements.txt 导出当前环境依赖
        • python -m pip install -r requirements.txt 按依赖文件安装
        • python -m pip uninstall numpy 卸载软件包
        • python -m pip install -i https://mirrors.aliyun.com/pypi/simple/ requests 临时配置镜像
        • python -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 永久配置镜像
        • python -m pip config list 查看配置
        • pip 配置文件
          • ~/.pip/pip.conf
      • venv
        • 给某个 python 项目创建要给独立的虚拟环境
        • 每个项目都有独立的 Python 包、pip 安装记录、依赖版本
        • 创建虚拟环境
          • python -m venv .venv
          • 在当前目录创建一个 .venv 的虚拟环境文件夹
        • 激活虚拟环境
          • source .venv/bin/activate
        • 虚拟环境安装包
          • python -m pip install requests
        • 退出虚拟环境
          • deactive
        • 解决的问题
          • 同一个 Python 版本下
          • 不同项目依赖隔离
        • pyenv/conda
          • 安装多个 Python 版本
          • 管理解释器版本

uv 安装包

  • uv
    • 安装 uv
    • uv 创建项目
      • uv init myapp
    • 项目关键文件
      • pyproject.toml:项目元数据与依赖声明
      • uv.lock:锁文件,保证解析结果可以复现
      • .venv:项目虚拟环境
      • .python-version:项目使用的版本约束
    • 依赖管理
      • uv add requests
      • uv add “pydantic==2.11.0”
      • uv remove requests
    • 锁定和同步
      • uv lock 解析依赖并生成 uv.lock
      • syncing 把锁文件里面的某个集合真正安装进项目环境
    • 创建虚拟环境
      • uv venv
    • 管理 python 版本
      • uv python
    • 运行命令
      • uv run
      • 如果不使用 uv run,就需要先激活虚拟环境后再直接执行命令