%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 的检测结果保存时,保持结果文件的简洁和可读性。

相关文章
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)
3555 0
|
机器学习/深度学习 资源调度 自然语言处理
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
18323 0
|
Python
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
3112 0
|
数据采集 运维 数据挖掘
Pandas中的Rank用法:数据排序的高效工具
Pandas中的Rank用法:数据排序的高效工具
585 0
|
人工智能
哲学可以为人工智能做什么
哲学在人工智能领域发挥着重要的作用。它可以帮助我们思考人工智能的伦理和道德问题,探讨人工智能的意识和自我问题,思考知识和真理的获取方法,探讨智能和意义的本质,思考人工智能的自由意志和决策能力,以及研究人工智能对社会和政治的影响。通过哲学的思考和指导,我们可以更好地应对人工智能的挑战和机遇,确保其发展和应用符合人类的利益和价值观。
352 0
|
数据库 开发者 Python
Python后端开发入门指南:从零开始,用Flask打造你的第一个Web应用!
【8月更文挑战第21天】Python凭借简洁的语法和丰富的库支持,在后端开发中备受青睐。本指南通过Flask框架介绍Python后端开发的基础步骤。首先安装Flask (`pip install flask`),接着创建应用实例及路由,如定义根路由`/`显示"Hello, World!"。为处理复杂逻辑如数据库操作,可使用Flask-SQLAlchemy扩展,安装后(`pip install flask-sqlalchemy`)配置数据库并定义模型。这些基本步骤为初学者提供了实用的起点,帮助快速上手Python后端开发。
1460 0
|
开发框架 前端开发 JavaScript
前后端分离,Asp.net core webapi 如何配置跨域
前后端分离,Asp.net core webapi 如何配置跨域
441 0
|
开发工具 数据库 git
通俗易懂!看漫画学Python入门教程(全彩版)Git首发破万Star
很多编程语言书读起来都略显晦涩,让不少读者望而却步,很难坚持读完。关老师的新书另辟蹊径,以漫画形式切入,生动有趣,把复杂的技术点和编程知识讲解得通俗易懂真正体现了一图胜干言的道理。而且每章结束时都有“练一练”环节,能够帮助读者夯实基础、锻炼技能。不得不说,这是一本Python入门和进阶佳作。
|
JavaScript
vue2_echarts安装使用_入门
vue2_echarts安装使用_入门
327 1
|
计算机视觉
OpenCV HSV物体跟踪
OpenCV HSV物体跟踪
138 0