【高效编程必备技能】:掌握这7种f-string时间格式,告别strftime冗长代码

第一章:f-string时间格式的基础概念

在Python中,f-string(格式化字符串字面量)是一种强大且高效的字符串格式化方式,自Python 3.6起引入。它允许在字符串中直接嵌入表达式,特别适用于时间格式的动态展示。通过结合`datetime`模块与f-string中的格式化指令,开发者可以简洁地输出可读性强的时间信息。
基本语法结构
f-string使用大括号{}包裹变量或表达式,并可在其中指定格式化规则。对于时间类型,通常使用.strftime()风格的格式代码进行控制。 例如:
from datetime import datetime

now = datetime.now()
formatted = f"当前时间:{now:%Y-%m-%d %H:%M:%S}"
print(formatted)
上述代码中,{now:%Y-%m-%d %H:%M:%S}将当前时间格式化为“年-月-日 时:分:秒”的形式。%Y表示四位数年份,%m代表两位数月份,%d为两位数日期,%H、%M、%S分别对应小时、分钟和秒。

常用时间格式代码

以下是一些常见的时间格式化符号:
格式符含义示例输出
%Y四位数年份2025
%m两位数月份04
%d两位数日期05
%H24小时制小时14
%M分钟30
%S秒25
  • f-string支持直接在表达式中调用方法,如f"{datetime.now():%A}"可输出星期名称
  • 格式化部分位于冒号:之后,遵循strftime标准
  • 避免在大括号内使用引号冲突,必要时可混合单双引号

第二章:常用日期格式的高效应用

2.1 理解f-string中日期格式化的基本语法

在Python中,f-string(格式化字符串字面量)提供了一种简洁高效的方式来嵌入表达式并格式化数据,包括日期时间对象。通过结合 `datetime` 模块与 f-string 的格式规范,可以直观地控制日期输出格式。
基本语法结构
f-string 中的日期格式化使用 `{}` 包裹变量,并通过冒号 `:` 后接格式说明符定义输出样式。例如:
from datetime import datetime
now = datetime.now()
print(f"当前时间:{now:%Y-%m-%d %H:%M:%S}")
该代码将输出形如 `当前时间:2025-04-05 14:30:25` 的结果。其中 `%Y` 表示四位年份,`%m` 代表两位月份,`%d` 为两位日,`%H`、`%M`、`%S` 分别表示小时、分钟和秒。
常用格式代码对照表
代码含义
%Y四位年份
%m两位月份
%d两位日期
%A完整星期名
%B完整月份名

2.2 使用%Y、%m、%d实现标准日期输出

在格式化日期输出时,`%Y`、`%m` 和 `%d` 是最常用的时间占位符,分别代表四位数年份、两位数月份和两位数日期。
常见格式化占位符说明
  • %Y:四位年份,例如 2025
  • %m:两位月份,不足补零,例如 03 表示三月
  • %d:两位日期,自动补零,例如 07 表示每月第7日
代码示例
from datetime import datetime

now = datetime.now()
formatted_date = now.strftime("%Y-%m-%d")
print(formatted_date)  # 输出:2025-04-05
上述代码使用 `strftime()` 方法将当前时间格式化为“年-月-日”结构。`%Y-%m-%d` 组合确保输出符合 ISO 8601 标准,适用于日志记录、文件命名等场景,具备良好的可读性和排序性。

2.3 格式化年月日组合提升代码可读性

在处理日期数据时,统一的格式化方式能显著提升代码的可读性和维护性。使用标准的年月日组合格式(如 YYYY-MM-DD)有助于避免歧义,特别是在跨时区或多语言环境中。
常见日期格式对比
  • 原始时间戳:1672531200(不易读)
  • 美式格式:01/02/2023(易混淆)
  • ISO 标准格式:2023-01-02(推荐)
Go语言中的日期格式化示例
package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	formatted := now.Format("2006-01-02") // ISO日期格式
	fmt.Println(formatted)
}
上述代码使用 Go 的特定布局时间(Mon Jan 2 15:04:05 MST 2006)进行格式化。其中 "2006-01-02" 对应年-月-日,输出如 "2023-04-05",清晰直观,便于日志记录和数据库存储。

2.4 处理不同区域日期习惯的实践技巧

在国际化应用中,正确处理不同地区的日期格式至关重要。使用标准化库可以有效避免手动解析带来的错误。
利用 Intl API 格式化日期
现代 JavaScript 提供了强大的 Intl.DateTimeFormat API,支持按区域设置格式化日期:

const date = new Date();
const options = { year: 'numeric', month: 'long', day: 'numeric' };

// 中国格式:2025年4月5日
console.log(new Intl.DateTimeFormat('zh-CN', options).format(date));

// 美国格式:April 5, 2025
console.log(new Intl.DateTimeFormat('en-US', options).format(date));

// 德国格式:5. April 2025
console.log(new Intl.DateTimeFormat('de-DE', options).format(date));
上述代码通过指定语言标签(如 zh-CN)和选项对象,自动适配本地化显示规则。参数 month: 'long' 表示完整月份名称,year 和 day 控制年日的显示精度。
常见区域格式对照表
区域示例格式顺序
中国大陆2025年4月5日年-月-日
美国April 5, 2025月-日-年
德国5. April 2025日-月-年

2.5 避免常见格式错误与调试建议

常见格式错误识别
在配置文件或代码编写中,常见的格式错误包括缩进不一致、缺少引号或括号不匹配。例如 YAML 文件对空格极为敏感,使用 Tab 而非空格会导致解析失败。
调试实用技巧
  • 使用语法校验工具(如 yamllint)提前发现结构问题
  • 启用编辑器的语法高亮与括号匹配功能
  • 逐行注释排查法定位异常语句
// 示例:Go 中 JSON 解码常见错误
var config map[string]interface{}
err := json.Unmarshal([]byte(data), &config)
if err != nil {
    log.Fatalf("JSON 解码失败: %v", err) // 输出具体错误原因
}
上述代码展示了如何捕获并输出格式解析错误。json.Unmarshal 在遇到非法 JSON 时返回详细错误信息,有助于快速定位问题字段。

第三章:时间部分的核心格式技巧

3.1 小时、分钟、秒的精准控制(%H、%M、%S)

在时间格式化处理中,`%H`、`%M`、`%S` 分别代表小时、分钟和秒,是实现精确时间控制的核心占位符。这些标识符广泛应用于日志记录、任务调度和数据时间戳生成。
格式化语法详解
  • %H:24小时制小时,补零显示(00-23)
  • %M:分钟,补零显示(00-59)
  • %S:秒,补零显示(00-59),包含闰秒支持
代码示例与分析
from datetime import datetime

now = datetime.now()
formatted = now.strftime("%H:%M:%S")
print(formatted)  # 输出:14:35:22
上述代码使用 Python 的 strftime() 方法将当前时间格式化为“时:分:秒”形式。%H 确保小时以两位数显示,避免解析歧义,适用于需要高精度时间序列的场景。

3.2 12小时制与AM/PM格式的灵活切换(%I、%p)

在时间格式化中,12小时制常用于提升用户界面的可读性。通过 %I 可输出01-12的小时值,搭配 %p 表示上午(AM)或下午(PM),实现符合日常习惯的时间展示。
常用格式符说明
  • %I:以12小时制输出小时,不足两位补零
  • %p:输出本地化的AM/PM标识
代码示例
package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    formatted := now.Format("01/02/2006 %I:%M:%S %p")
    fmt.Println(formatted) // 输出如:04/05/2025 03:30:45 PM
}
上述代码使用 Go 的 time.Format 方法,结合 %I 和 %p 实现12小时制与AM/PM的自动转换。注意:小时必须使用 %I(大写i),而非 %H,否则将无法正确进入12小时模式。

3.3 带零填充与对齐优化的显示策略

在数值显示场景中,保持字段宽度一致能显著提升可读性。通过零填充(Zero Padding)可确保数字位数统一,常用于日志、编号序列或时间戳输出。
零填充实现方式
以 Go 语言为例,使用 fmt.Sprintf 可轻松实现:
fmt.Sprintf("%06d", 42) // 输出:000042
其中 %06d 表示将整数格式化为至少6位宽,不足部分以前导零补足。
对齐优化策略
结合字段对齐,可构建整齐的数据表格。常见对齐方式包括:
  • 右对齐:适用于数值类数据
  • 左对齐:适用于文本标识符
  • 居中对齐:适用于标题或分隔信息
原始值零填充后(6位)对齐方式
7000007右对齐
123000123右对齐

第四章:复合与自定义时间格式实战

4.1 组合日期与时间输出标准化日志时间戳

在分布式系统中,统一的日志时间戳是问题排查与性能分析的基础。为确保跨时区、跨服务的时间可比性,需将日期与时间组合并格式化为标准化的输出。
时间戳生成规范
推荐使用 ISO 8601 格式(如 2025-04-05T10:30:45Z),具备可读性强、排序方便、国际通用等优势。
Go语言实现示例
package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前UTC时间
    now := time.Now().UTC()
    // 格式化为ISO 8601标准时间戳
    timestamp := now.Format("2006-01-02T15:04:05.000Z07:00")
    fmt.Println("Log Timestamp:", timestamp)
}
上述代码通过time.Now().UTC()获取协调世界时,避免本地时区干扰;使用Go特有的时间模板2006-01-02T15:04:05.000Z07:00进行格式化,确保毫秒精度与时区标识一致。
常见格式对比
格式类型示例适用场景
ISO 86012025-04-05T10:30:45Z微服务日志、API调用记录
RFC 33392025-04-05T10:30:45+00:00日志审计、安全监控

4.2 使用%f和%z处理微秒与时区信息

在日志记录与时间序列数据处理中,精确的时间戳至关重要。使用 `%f` 和 `%z` 格式化标识符可分别捕获微秒级时间精度与时区偏移信息。
格式化符号详解
  • %f:表示微秒部分,输出6位数字(如 123456)
  • %z:表示UTC偏移时区信息(如 +0800 或 -0500)
代码示例
package main

import "time"
import "fmt"

func main() {
    t := time.Now()
    formatted := t.Format("2006-01-02 15:04:05.123456 -0700")
    fmt.Println(formatted)
}
上述代码利用Go语言标准库中的时间格式化功能,`.123456` 对应微秒(%f),`-0700` 表示时区偏移(%z)。该格式确保跨系统日志时间对齐,便于分布式系统中的事件排序与调试。

4.3 自定义分隔符与人类友好型格式设计

在日志与数据导出场景中,使用自定义分隔符能显著提升可读性与解析灵活性。CSV 默认以逗号分隔,但在字段包含逗号时易引发解析错误。通过切换为制表符(`\t`)或竖线(`|`),可有效避免冲突。
常见分隔符对比
分隔符适用场景优点
,标准CSV通用性强
\t日志导出空白清晰,易于阅读
|结构化报告避免内容冲突
Go语言实现示例
writer := csv.NewWriter(file)
writer.Comma = '|' // 自定义分隔符为竖线
err := writer.Write([]string{"ID", "Name", "Email"})
if err != nil {
    log.Fatal(err)
}
writer.Flush()
上述代码将输出以 `|` 分隔的记录,如:`123|Alice|alice@example.com`。通过设置 `Comma` 字段,可灵活适配不同格式需求,增强数据的人类可读性与机器解析稳定性。

4.4 构建可复用的时间格式模板模式

在处理多时区、多语言环境下的时间展示时,硬编码时间格式会导致维护困难。构建可复用的时间格式模板模式,能显著提升代码的可读性与一致性。
统一时间格式常量定义
通过定义全局时间格式常量,避免散落在各处的格式字符串:
const (
    DateTimeFormat = "2006-01-02 15:04:05"
    DateFormat     = "2006-01-02"
    TimeFormat     = "15:04:05"
)
Go语言使用“参考时间”(Mon Jan 2 15:04:05 MST 2006)作为格式化模板,上述常量基于此规则定义,便于记忆和复用。
模板注册与动态解析
可扩展的系统常采用模板注册机制:
  • 预定义常用格式别名,如 "full"、"short"
  • 通过映射表动态解析为实际格式字符串
  • 支持运行时扩展自定义格式模板

第五章:性能对比与最佳实践总结

真实场景下的响应延迟对比
在高并发订单处理系统中,我们对 Redis 与 PostgreSQL 的读写延迟进行了压测。以下为平均响应时间(单位:毫秒):
操作类型Redis (ms)PostgreSQL (ms)
GET 请求0.34.7
SET 请求0.56.2
复杂查询N/A18.4
缓存穿透防护策略实施
使用布隆过滤器预判 key 是否存在,避免无效数据库查询。Go 语言实现片段如下:

bloomFilter := bloom.NewWithEstimates(10000, 0.01)
bloomFilter.Add([]byte("user:1001"))

if bloomFilter.Test([]byte("user:9999")) {
    // 可能存在,继续查缓存
} else {
    // 肯定不存在,直接返回 nil
    return nil
}
连接池配置优化建议
  • Redis 推荐设置最大连接数为 20~50,避免频繁创建销毁开销
  • PostgreSQL 应启用 pgbouncer 中间件,控制实际后端连接数
  • 设置合理的空闲连接回收时间(如 5 分钟),防止资源泄漏
混合架构中的数据一致性保障
采用“先更新数据库,再失效缓存”策略,并引入延迟双删机制:
  1. 更新 PostgreSQL 记录
  2. 删除 Redis 缓存
  3. 异步延迟 100ms 再次删除缓存,应对期间的脏读
[客户端] → [API网关] → [Redis缓存] ⇄ [DB同步层] → [PostgreSQL] ↑ [Bloom Filter 预检]

相关推荐

大模型Agent技术实战:从核心架构到数据分析应用开发

Agent技术作为AI应用的操作系统,正成为连接大模型思考能力与外部世界行动能力的关键桥梁。其核心原理在于构建具备感知、规划、决策、执行与反思能力的自主智能体,通过感知模块进行意图识别与槽位填充,将模糊指令转化为结构化任务。在技术价值层面,Agent实现了从简单问答到复杂任务自动化的跃升,能自主协调多个工具与步骤,完成数据分析、流程自动化等高阶工作。应用场景广泛覆盖企业RPA、智能客服、个人效率工具及数据分析等领域。本文聚焦于数据分析Agent的实战开发,详细拆解了基于LangChain等框架的工具定义、提

weixin_34306593的博客 382

f-string字符串格式化方法

f-string能够提供更简洁、直观的字符串格式化方法,使代码更易读和维护。同时,f-string还支持在大括号内使用富文本格式化选项,如指定数值的精度、宽度、对齐方式等。f-string是一种在Python3.6版本中引入的新的字符串格式化方法。它允许在字符串中插入变量值或表达式的计算结果,使用一种简单的、直观的语法。需要注意的是,f-string只支持Python3.6及以上的版本。在较旧的Python版本中,需要使用其他方法来格式化字符串,如使用。内可以是一个变量名、一个表达式,甚至是一个函数调用。

qq_65800683的博客 1673

SQLAlchemy Core 入门实战:SQLite 零配置+生产级连接管理

SQLAlchemy Core 是 Python 操作关系型数据库的核心抽象层,它将 SQL 语句安全封装为可组合的 Python 表达式,既保留原生 SQL 的可控性,又提供参数绑定、类型映射和连接池管理等工程能力。相比 ORM,Core 更适合高并发、低延迟场景,避免 N+1 查询与隐式加载陷阱;结合 SQLite 可实现零配置本地验证,快速覆盖建表、增删改查、JOIN、聚合及 Pandas 互操作等全链路数据操作。本文聚焦 SQLAlchemy 2.0+ 最小可行实践,详解 Engine 连接工厂生命

weixin_34345753的博客 520

Python的f-strings格式化

学过Python的朋友应该都知道 f-strings 是用来非常方便的格式化输出的,觉得它的使用方法无外乎就是print(f'value = { value }',其实,f-strings远超你的预期,今天来梳理一下它还能做那些很酷的事情。 常见用法 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字

Free雅轩的博客 1763

第八章[字符串]:8.1:字符串f-string格式化

一,f-string的基本格式,二,f-string中使用表达式,三,给{}内的数据添加引号,四,{}内加=,直接在=后输出结果,五,使用lambda,六,整数的填充,七,对齐,八,数字符号相关格式描述符,九,数字格式化,十,进制的打印,十一,打印日期,十二,输出引号,十三,输出大括号,十四,字符串拼接

刘老师的技术森林 1011

Python格式化操作

文本处理服务-格式化操作,内容来自网络

岁月的博客 4855

Python f-string 格式化字符串详解

return f"self . name } (特价: ¥ {self . price : .2f } " p = Product("Python书" , 100) print(f" {p } ") # Python书 - ¥100.00 print(f" {p : discount } ") # Python书 (特价: ¥80.00)self . name } (特价: ¥ {

m0_37989702的博客 1014

攻克Windows平台3DGS复现:从环境配置到可视化实战全记录

本文详细记录了在Windows平台成功复现3D Gaussian Splatting(3DGS)的完整流程,涵盖从环境配置、依赖安装、数据准备到模型训练与可视化的全步骤。重点解决了Windows下CUDA版本匹配、Visual Studio编译及SIBR_viewers可视化工具部署等核心难题,为开发者提供了一份详实的避坑指南与实战手册。

weixin_28839699的博客 252

格式化类,日期时间以指定格式输出,DataFormat,SimpleDateFormat,DateTimeFormatter

1. DateFormat类 Date类打印输出时时间都是以默认的英文格式输出,如果以指定格式输出就需要DateFormat类。将特定格式的日期字符串转换成一个Date对象。DateFormat为抽象类不能被实例化,它提供了一系列方法获取实例对象。 Static DateFormat getDateInstance() 用于创建默认语言环境和格式化风格日期格式器 Static DateFormat getDateInstance(int style)

qq_52314655的博客 2160

点云体素化算法研究-3.Voxelization 三维模型体素化

体素(voxel)即体积元素的简称,是数字数据在三维空间分割上的最小的单位。体素化就是通过创建三维体素网格来表示三维物体,是一种将无序点云变为有序点云的降采样的空间数据结构方法,便于实现点云的空间卷积。激光雷达(LiDAR)| Open3D:第五节 表面重建-体素化。

周陽讀書 2067

波分复用-Zblock仿真

Z-BLOCK是一种用于光通信模块的光学元件,其核心结构是在玻璃块一侧贴有4个特定波长滤光片,另一侧镀有反射膜和增透膜。光信号在内部呈现Z字形反射路径,实现波长分离。文章以可见光LED为例,在ZEMAX中演示了非序列模式下的建模过程,重点介绍了滤光片和膜层的参数设置方法。需要注意的是,入射角度需根据玻璃折射率、通道高度和厚度精确计算,否则可能导致光泄漏。该建模方法同样适用于光通信中的光纤激光器系统。

Zhaxibamao的博客 1748

7个Python开发必备库:数据处理、异步编程与代码规范实战

在Python开发中,第三方库是提升开发效率的关键工具。从数据处理到网络请求,再到代码质量维护,这些库通过封装复杂逻辑,让开发者能够专注于业务实现。例如,Pandas库提供了高性能的DataFrame数据结构,简化了数据清洗、转换和分析流程;而Requests库则优化了HTTP请求处理,使API调用更加简洁高效。在异步编程领域,asyncio与aiohttp结合,能够显著提升I/O密集型任务的并发性能。此外,代码规范工具如Black和isort,通过自动化格式化与导入排序,确保团队协作的一致性。这些库覆盖了

weixin_30905981的博客 503

基于FPGA的TDC延迟链优化与码密度校准方法(1)——原理与实现

本文深入探讨了基于FPGA的时间数字转换器(TDC)延迟链非均匀性问题及其码密度校准方法。通过分析工艺偏差、温度电压影响等根源,详细介绍了码密度测试原理、逐位校准技术及气泡消除算法,并分享了自适应校准策略与多场景应用实践,有效提升TDC测量精度至皮秒级。

kiwi8的博客 488

C++输入输出流与模板编程实战:从原理到项目应用

在C++编程中,输入输出(I/O)和模板是构建高效、可复用软件的核心技术。I/O流机制基于流抽象,统一处理控制台、文件和内存数据交换,其原理涉及缓冲管理、格式控制和状态检测,是程序与外部环境沟通的桥梁。模板作为泛型编程的基石,通过编译期代码生成实现类型安全的算法复用,能显著提升库的通用性和运行时性能。这两项技术的工程价值在于解决数据持久化、配置解析以及通用容器/算法库开发等常见需求。例如,结合文件流与类模板可以构建通用的数据序列化模块,而利用模板策略模式能设计出可扩展的日志系统。本文通过具体案例,深入探讨了

weixin_34242509的博客 440

维护测试监控LLM应用

LangFuse: 开源 + SaaS(免费/付费),LangSmith 平替,可集成 LangChain 也可直接对接 OpenAI API;LangSmith: LangChain 的官方平台,SaaS 服务(免费/付费),非开源,企业版支持私有部署;调试 Prompt 的 Playground测试/验证系统的相关指标数据集管理各种指标监控与统计:访问量、响应时长、Token 费等等。

SunnyRivers 1780

ISO15118-20证书结构关系解读(7.3.2.1)

本文主要讲述ISO15118-20:2022标准所有证书结构的关联关系,目的是为后续基于ISO15118-20车桩通讯及PNC充电等提供基础支撑。 本文所有的证书关系图全部来源于ISO15118-20:2022标准规范,在后续的讲解过程会将图的摘取出处给提供出来,便于后期文章和标准对应起来解读。

weixin_40900932的博客 3184

Markdown驱动创业:文档即代码的自动化协作实践

在软件开发与团队协作领域,版本控制系统与自动化工作流是提升效率的核心技术。Git作为分布式版本控制工具,不仅管理代码,其结构化、可追溯的特性也使其成为文档管理的理想载体。结合持续集成/持续部署(CI/CD)理念,通过自动化脚本监听文件变更并触发预设任务,能够将静态文档转化为动态工作流引擎。这种‘文档即代码’的实践,将产品需求、技术方案、业务指标等核心资产结构化为Markdown文件,利用Git进行版本控制与协作评审,再通过GitHub Actions等自动化引擎,实现从文档更新到自动部署、通知乃至生成报告的

weixin_34026276的博客 364

YOLO11全网首发:CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题

DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 561

50行代码实现Agent Loop与Harness:AI智能体核心架构实战解析

在AI应用开发领域,Agent Loop(智能体循环)是构建自主智能体的核心架构模式,它定义了智能体通过观察、思考、行动、反馈的循环过程与环境交互的基本原理。这一模式赋予AI系统持续推理和任务分解的能力,是实现复杂任务自动化的关键技术。Harness作为包裹在Agent核心逻辑之外的基础设施层,提供了生命周期管理、工具调用编排、状态持久化和可观测性等工程化支持,确保智能体运行的稳定性和可控性。通过理解Agent Loop与Harness的协同机制,开发者能够构建出更可靠、可扩展的AI应用,应对从自动化客服到

weixin_34323858的博客 281

【零基础入门unity游戏开发——unity通用篇30】Resources资源加载(基于unity6开发介绍)

Resources资源加载(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4116

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

AI Agent开发新范式:从Prompt工程到Agent工程,用Bb Agent IDE提升开发效率

在人工智能应用开发领域,AI Agent正成为连接大语言模型与实际业务场景的关键技术。其核心原理在于通过赋予模型记忆、规划和工具调用能力,使其能够自主完成复杂任务序列。这一技术价值在于将传统基于Prompt的简单交互,升级为具备持续学习和环境适应性的智能系统,广泛应用于客服自动化、数据分析、智能助手等场景。随着应用复杂度提升,开发过程中的调试脱节、状态管理混乱和缺乏工程化支持等痛点日益凸显。Bb Agent IDE作为一款专业开发环境,通过可视化编排、实时调试和版本管理等特性,为开发者提供了从“手工作坊”到

weixin_34129696的博客 346

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OpenAI API免费额度取消后,开发者如何优化成本与选择替代方案

在人工智能开发领域,API调用成本是开发者必须面对的核心问题。其计费原理通常基于Token消耗,即模型处理文本的基本单位,这直接关系到项目的经济可行性。理解并优化Token使用,不仅能降低开发成本,更是工程实践中的重要技能。从技术价值看,有效的成本控制策略可以延长项目生命周期,促进更多创新实验。在实际应用场景中,无论是原型开发、自动化脚本还是学习研究,合理管理API支出都至关重要。本文聚焦于OpenAI API计费模型调整后的实战应对,通过分析**Tokens**计算和**开源大模型**替代方案,为开发者提

weixin_30808693的博客 294

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python格式化字符串f-string概览

简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号对 {} 标明...

sunxb10的博客 26万+

字符串格式化方法:f-strings

f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。下面看下 f-strings 的使用方法1.基本使用>>> name = 'hoxis'>>> age = 18>>> f"hi, {name}, are you {age}"'hi, hoxis, are you 18'>>>

ziskin的博客 2879

python中的f字符串格式_Python字符串格式化f-string多种功能实现

f-string 格式化f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入对应的数据对象。如下所示f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元'完整的代码如下salary = input('请输入薪资:')# 计算出缴税额,存入变量taxtax = int(salary) *25/100# 计算出税后工资,存入...

weixin_27573409的博客 745

python3 格式化字符串 f-string 介绍

简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以f或F修饰符引领的字符串(f'xxx'或F'xxx'),以大括号{}标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While other...

whatday的专栏 1万+
上一篇: 【高并发编程必修课】:彻底搞懂multiprocessing.Manager字典锁的底层实现机制
下一篇: 为什么你的权限校验总出错?真相藏在process_view的执行时机里
simcode
博客等级 码龄14年 154粉丝 2026原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值