%g是什么

简介: `%g` 是 Python 字符串格式化中的一种格式说明符,用于表示浮点数或整数,能自动选择最合适的表示法。当数值为整数时,它显示整数;当数值较大或含小数时,它选择科学记数法或小数点记数法,并去掉无用的零。例如:

%g 是 Python 字符串格式化中一种常见的格式说明符,用于表示浮点数或整数。它是 printf 风格格式化字符串的一部分,具有自动选择浮点数或整数表示法的功能。具体来说,%g 的行为如下:

%g 的作用

  • 自动选择表示法
    • 如果数值可以用不带小数点的整数形式表示(即数值为整数),%g 会将它显示为整数。
    • 如果数值较大或包含小数,%g 会选择最合适的表示法(科学记数法或小数点记数法),并去掉无用的零。

举例说明

# 示例 1:整数
value = 12345
formatted = "%g" % value
print(formatted)  # 输出: 12345

# 示例 2:小数
value = 12345.6789
formatted = "%g" % value
print(formatted)  # 输出: 12345.7

# 示例 3:小数(大数)
value = 0.0000123456789
formatted = "%g" % value
print(formatted)  # 输出: 1.23457e-05

# 示例 4:科学记数法
value = 123456789.0
formatted = "%g" % value
print(formatted)  # 输出: 1.23457e+08
  • 整数形式:对于没有小数部分的数字(如 12345),%g 会将其简单地显示为整数。
  • 小数形式:对于有小数部分但不需要科学记数法的数字(如 12345.6789),%g 会保留适当的小数位数并去掉无用的零。
  • 科学记数法:对于非常小或非常大的数字(如 0.0000123456789 或 123456789.0),%g 会选择使用科学记数法来表示,以更简洁的方式显示数字。

结合 YOLO 代码

在 YOLO 的结果保存代码中:

f.write(("%g " * len(line)).rstrip() % line + "\n")

这里使用 %g 是为了将检测结果中的每个数值(例如类别索引、边界框坐标、置信度等)以简洁而合适的格式保存到文本文件中。使用 %g 可以确保:

  • 边界框的坐标不会显示过多无用的小数位。
  • 置信度等数值以最简洁的方式展示。
  • 整数部分如类别索引可以以整数形式展示。

总结

%g 是一个灵活的格式说明符,适合用于格式化显示各种浮点数和整数。它根据数值的特性自动选择最合适的表示法,适合在需要显示简洁数值的场景中使用,例如在 YOLO 的检测结果保存时,保持结果文件的简洁和可读性。

相关文章
ML之Spearman:Spearman相关系数(斯皮尔曼等级相关系数)的简介、案例应用之详细攻略
ML之Spearman:Spearman相关系数(斯皮尔曼等级相关系数)的简介、案例应用之详细攻略
ML之Spearman:Spearman相关系数(斯皮尔曼等级相关系数)的简介、案例应用之详细攻略
|
存储
开路时间常数法
开路时间常数法是一种用于分析电路的动态响应的方法,特别适用于分析电路的开路响应。它基于电路的开路时间常数,用于描述电路响应的快慢程度。
1293 0
|
机器学习/深度学习 数据采集 人工智能
快瞳AI鱼类识别 —— AI赋能海洋生物智能监测
鱼类AI识别技术基于深度学习算法,通过大量鱼类图像训练,实现对鱼类的快速精准识别。该技术模仿人类视觉系统,利用卷积神经网络(CNN)提取鱼体特征,从浅层的鳞片纹理到深层的整体形态逐步分析。快瞳科技提出的MF-Net模型突破了鱼类种类繁多、数据不均衡等难点,通过多阶段特征融合、动态权重调整及三维特征建模,显著提升识别性能。这项技术不仅重塑水产科研方式,还为海洋生物多样性保护提供智能化解决方案,推动AI在生态保护领域的应用迈入新阶段。
1592 6
|
1月前
|
人工智能 自然语言处理 安全
2026企业级Agent平台推荐:核心功能与应用场景解析
2026年企业AI智能体进入规模化落地关键期,但仅17%企业完成实质性部署。瓴羊AgentOne以“Data×AI”双轮驱动,打造企业级智能体调度中枢,支持NL2Data混合技术、多模态协同与全链路闭环,已助力安防、能源、农牧等行业实现数据智能到业务执行的跨越。
|
Go API 开发者
Golang Websocket框架:实时通信的新选择
Golang Websocket框架:实时通信的新选择
|
6月前
|
人工智能 数据可视化 测试技术
玩转Ollama:命令行操作、上下文长度调优与模型导入全攻略
Ollama是轻量级本地大模型运行工具,零配置即可快速启动AI模型。本文详解三大核心:高频CLI命令(运行/管理/创建模型)、上下文长度(Context Length)调优技巧、多格式(GGUF/Safetensors)自定义模型导入与量化分享,新手跟做即上手。
|
存储 人工智能 自然语言处理
数势科技指标平台, 让数据产生最大价值
数势科技指标平台, 让数据产生最大价值
|
存储 算法 Android开发
AVB校验微观版本:android avb(Android Verified Boot)验证
AVB校验微观版本:android avb(Android Verified Boot)验证
2913 0
|
机器学习/深度学习 人工智能 自动驾驶
《打破壁垒:卷积神经网络与循环神经网络的融合新篇》
在人工智能发展中,处理复杂时序图像/视频数据是难题。CNN擅长提取图像空间特征(如物体形状、位置),RNN/LSTM则善于捕捉时间依赖关系,解决长序列数据的梯度问题。两者结合,先用CNN提取每帧图像特征,再通过RNN/LSTM分析时间变化,可高效处理视频动作识别、自动驾驶等任务,融合空间与时序优势,展现巨大应用潜力。
379 12
|
算法 Java Sentinel
限流算法(计数器、滑动时间窗口、漏斗、令牌)原理以及代码实现
> 本文会对这4个限流算法进行详细说明,并输出实现限流算法的代码示例。 > 代码是按照自己的理解写的,很简单的实现了功能,还请大佬们多多交流找bug。
3179 0

热门文章

最新文章