avatar
文章
62
标签
21
分类
10

首页
标签
分类
归档
清单
  • 知识库
  • AI资源清单
AGI Explained
首页
标签
分类
归档
清单
  • 知识库
  • AI资源清单
python f-string 一些用例
发表于2024-11-06|Python|Python
f-string 在 Python 中有多种特殊用法: 插入表达式、调用函数、格式化数字和日期:f-string 让我们可以直接在字符串中进行计算和格式化。 多行字符串、条件格式化:非常适用于格式化多行文本或者根据条件动态改变输出内容。 嵌套表达式、字典访问、调用方法:使得 f-string 可以处理更复杂的字符串插值。 调试时输出变量名和值:通过 = 语法,方便调试时查看变量的值。 下面整理一下部分f-string的用法与示例。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546print(f'{big_number:,}') # 解释器会自动加上千分位标识符,输出 10,000,000,000,000,000print(f"The number is {x:05d}.") # 输出: The number is 00042.name: str = 'Jack' ...
python f-string
发表于2024-10-30|Python|Python
1. f-string 主要概念f-string 是 Python 3.6 中引入的一种新的字符串格式化方法,简化了字符串插值的过程,使得代码更简洁、更直观。f-string 的语法非常简单,就是在字符串前加上字母 f 或 F,然后用花括号 {} 包裹变量或表达式。 2. 基本用法f-string 让我们可以在字符串中直接插入 Python 表达式,Python 会自动将表达式的值转换为字符串并插入其中。 基本语法:1f"some text {expression} more text" 示例 1:将变量插入字符串: 1234name = "Alice"age = 30print(f"My name is {name} and I am {age} years old.")# 输出: My name is Alice and I am 30 years old. 示例 2:插入表达式(例如数学计算): 1234a = 5b = 10pr ...
一个完整的FastAPI + Celery + Redis集成案例
发表于2024-09-02|FastAPI|FastAPI•Celery
一个完整的FastAPI + Celery + Redis集成案例,包含配置、Docker部署和项目结构: 项目结构1234567891011121314151617fastapi-celery-redis/├── app/│ ├── __init__.py│ ├── config/│ │ ├── __init__.py│ │ └── settings.py│ ├── main.py│ ├── routers/│ │ ├── __init__.py│ │ └── tasks.py│ └── tasks/│ ├── __init__.py│ └── celery_app.py├── docker-compose.yml├── Dockerfile├── requirements.txt└── start.sh 1. 配置文件 (app/config/settings.py)1234567891011from pydantic import BaseSettingsclass Settings ...
在FastAPI中集成Celery实现分布式任务处理
发表于2024-08-27|FastAPI|FastAPI•Celery
一、核心架构解析1.1 Celery组件架构1234graph LR A[FastAPI] -->|AMQP| B[Message Broker] B --> C[Celery Worker] C --> D[Result Backend] 核心组件: Producer:FastAPI应用提交任务 Broker:消息传输中间件(RabbitMQ/Redis) Worker:任务执行节点集群 Result Backend:任务状态存储(Redis/PostgreSQL) 1.2 任务生命周期管理123456789101112131415# 典型任务执行流程@app.post("/tasks")async def create_task(data: TaskData): # 序列化参数 -> 生成任务ID -> 发送到Broker task = process_data.delay(data.dict()) return {"task_id": ...
深入探索FastAPI Background Tasks:原理、实践与高级技巧
发表于2024-08-22|FastAPI|FastAPI
FastAPI通过Background Tasks提供了一种轻量级异步解决方案,允许开发者在请求响应后继续执行非即时性任务。 一、核心原理1.1 底层机制解析FastAPI的Background Tasks并非基于多线程或多进程,而是利用Python的asyncio事件循环实现异步执行。其核心实现位于starlette.background模块中,具体流程如下: 123456789101112# Starlette源码简析class BackgroundTask: def __init__(self, func: typing.Callable, *args: typing.Any, **kwargs: typing.Any) -> None: self.func = func self.args = args self.kwargs = kwargs async def __call__(self) -> None: if iscoroutinefunction(self.func): ...
使用FastAPI开发高效的Background Tasks
发表于2024-08-17|FastAPI|FastAPI
在Web应用开发中,处理耗时任务是一个常见的需求。例如,发送电子邮件、处理大量数据、调用外部API等操作可能会阻塞主线程,导致用户体验下降。FastAPI作为一个高性能的Web框架,提供了强大的Background Tasks功能,允许开发者将这些耗时任务放到后台执行,从而提升应用的响应速度和用户体验。 什么是Background Tasks?Background Tasks是FastAPI提供的一种机制,在请求处理完成后,继续执行一些耗时操作。这些操作不会阻塞主线程,因此可以显著提高应用的响应速度。 原理FastAPI的Background Tasks机制基于Python的asyncio库。当在路由处理函数中定义一个Background Task时,FastAPI会将该任务放入一个任务队列中,并在请求处理完成后异步执行这些任务。由于这些任务是在后台执行的,因此不会影响主线程的响应速度。 如何使用Background Tasks?在FastAPI中使用Background Tasks只需要在路由处理函数中定义一个BackgroundTasks参数,并将需要执行的任务添加到该参数中即可。 ...
文档项目管理工具MkDocs
发表于2024-08-12|tools|tools•mkdocs
良好的文档是项目成功的关键。它不仅帮助开发者理解项目结构和代码逻辑,还是新团队成员快速上手的桥梁。MkDocs可以帮助我们构建出既美观又功能丰富的技术文档。 1、mkdocs简介MkDocs 是一个快速、简单且功能丰富的静态站点生成器,专为项目文档设计。它允许你用 Markdown 编写文档,然后通过一个简洁的命令生成一个静态网站。MkDocs 的核心优势在于它的简洁性、速度和易于使用。 主要特点: 纯 Python 编写:不需要复杂的依赖关系。 Markdown 支持:使用 Markdown 编写文档,易于阅读和编写。 静态站点生成:生成静态 HTML 页面,可以轻松部署到任何静态文件服务器或 CDN 上。 实时预览:开发时提供实时预览功能,所见即所得。 自定义主题:支持自定义主题,可以轻松定制文档的外观。 2、MkDocs-MaterialMkDocs-Material 是 MkDocs 的一个非常受欢迎的主题,它基于 Google 的 Material Design。它不仅提供了一个现代、响应式的设计,还包含了许多增强功能,如搜索、版本切换和脚注等。 特点: 响应式设计:适配 ...
SQLModel 关联查询
发表于2024-08-07|Python|Python•SQLModel
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697from sqlmodel import Field, Session, SQLModel, create_engine, select, unionclass Team(SQLModel, table=True): id: int | None = Field(default=None, primary_key=True) name: str = Field(index=True) headquarters: strclass Hero(SQLModel, table=True): id: int | None = Field(default=None, primary_key=True) ...
SQLModel 自引用数据模型(多对多)
发表于2024-08-03|Python|Python•SQLModel
上文讲了自引用数据模型的一对多场景,主要用于构建树形数据结构。自引用数据模型还有多对多的场景,比如文章引用,参考等等,这个时候需要引入一张中间表来完成。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465from typing import List, Optionalfrom sqlmodel import Field, Relationship, Session, SQLModel, create_engine, selectclass PaperSimilarLink(SQLModel, table=True): paper_id: Optional[int] = Field( default=None, foreign_key="paper.id", primary_key=True ) similar_id: Optional[int] ...
SQLModel 自引用数据模型
发表于2024-07-28|Python|Python•SQLModel
自引用表在数据库中是一种比较常见的数据结构,那么在SQLModel中怎么建立一个自引用的数据模型来对应这种数据表呢?主要原理还是参考一对多表结构的数据模型创建方式,在单一模型中建立一对多关系链。 注意:这里需要使用SQLAlchemy中的 remote_site 参数,参见 Relationships API 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061from typing import Optionalfrom sqlmodel import Field, Relationship, Session, SQLModel, create_engineclass Node(SQLModel, table=True): __tablename__ = "node" # 表名 id: Optional[int] = Field(default=None, primary_key ...
123…7
avatar
Eryx Lee
文章
62
标签
21
分类
10
Follow Me
最新文章
Vibe Coding2025-03-31
Xinference、Ollama 和 vLLM 比较2024-12-20
使用Xinference部署本地大模型2024-12-13
使用vLLM部署本地大模型2024-12-07
llama.cpp 编译使用2024-12-01
分类
  • FastAPI7
  • General1
  • LLM7
  • LangChain17
  • Prompt1
  • Pydantic1
  • Python21
  • pytest5
标签
SQLModel Vibe Coding ollama LLM Ollama pytest LangChain mkdocs Docker vLLM tools FastAPI Cache Xinference ruff Pydantic Python Celery llama.cpp RAG Prompt
归档
  • 三月 20251
  • 十二月 20244
  • 十一月 20246
  • 十月 20241
  • 九月 20241
  • 八月 20246
  • 七月 20247
  • 六月 20245
网站资讯
文章数目 :
62
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Eryx Lee
框架 Hexo|主题 Butterfly
浙ICP备2024062350号-1