Python 格式化输出:精确控制你的数据表示

这篇具有很好参考价值的文章主要介绍了Python 格式化输出:精确控制你的数据表示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     

目录

旧式的 % 运算符(不推荐)

str.format() 方法

位置和关键字参数:

格式化数字:

f-string

表达式和函数调用:

格式化数字:

格式规范的微调 (核心)

对齐字符串

填充字符

数字的零填充

数字的千位分隔符

格式化十六进制、八进制和二进制


        在编程语言中,格式化输出是一个非常重要的功能,它允许程序员以可读和美观的方式展示信息。Python 提供了多种方法来格式化字符串,控制数据的显示方式。Python 中的格式化输出,主要包括旧式的 % 格式化、str.format() 方法和 f-string。

旧式的 % 运算符(不推荐)

% 运算符是 Python 早期版本的字符串格式化方法。它使用类似于 C 语言中 printf() 的语法。

name = "John"
age = 30
print("Hello, %s. You are %d years old." % (name, age))
# 输出:Hello, John. You are 30 years old.

str.format() 方法

        随着 Python 2.6 的发布,str.format() 方法被引入,它提供了一种更强大和灵活的字符串格式化方式。

name = "John"
age = 30
print("Hello, {}. You are {} years old.".format(name, age)

   str.format() 方法可以指定占位符 {},而不用关心数据类型。你还可以通过位置或关键字参数来引用特定的值。

位置和关键字参数:

print("Hello, {0}. You are {1} years old.".format(name, age)) # 位置参数 
print("Hello, {name}. You are {age} years old.".format(name="Alice", age=24)) # 关键字参数

格式化数字:

pi = 3.14159 
print("Pi is approximately {0:.2f}".format(pi)) # 保留两位小数

f-string

        在 Python 3.6 中,引入了一种新的字符串格式化方法,称为 f-string(格式化字符串字面量)。f-string 提供了一种更简洁和易读的方式来格式化字符串。

name = "John"
age = 30
print(f"Hello, {name}. You are {age} years old.")

表达式和函数调用:

print(f"Twenty times two is {20 * 2}")
# 输出:Twenty times two is 40

格式化数字:

pi = 3.14159 
print(f"Pi is approximately {pi:.2f}")

格式规范的微调 (核心)

对齐字符串

        字符串在输出时可以进行左对齐、右对齐和居中对齐。使用 str.format() 方法或 f-string,可以通过在冒号 : 之后添加对齐符号 <>^ 来实现。

代码示例:

# 左对齐 
print(f"|{'left':<10}|") # 宽度为 10 的字段中左对齐 
print("|{:<10}|".format("left")) 
# 右对齐 
print(f"|{'right':>10}|") # 宽度为 10 的字段中右对齐 
print("|{:>10}|".format("right")) 
# 居中对齐 
print(f"|{'center':^10}|") # 宽度为 10 的字段中居中对齐 
print("|{:^10}|".format("center"))

输出结果:

|left      |
|left      |
|     right|
|     right|
|  center  |
|  center  |

填充字符

        在对齐时,可以指定一个字符来填充对齐后剩余的空间。填充字符被放置在对齐字符 <>^ 的前面。

代码示例:

# 使用星号 (*) 填充字符
print(f"|{'left':*<10}|")   # 使用 * 填充左对齐的剩余空间
print("|{:*<10}|".format("left"))

print(f"|{'right':*>10}|")  # 使用 * 填充右对齐的剩余空间
print("|{:*>10}|".format("right"))

print(f"|{'center':*^10}|") # 使用 * 填充居中对齐的剩余空间
print("|{:*^10}|".format("center"))

输出结果:

|left******|
|left******|
|*****right|
|*****right|
|**center**|
|**center**|

数字的零填充

        对于数字类型,零填充(0-padding)常用于保持数字的固定显示宽度。在指定宽度前添加 0 可以进行零填充。

代码示例:

# 数字的零填充
number = 42
print(f"|{number:0>10}|")  # 宽度为 10,右对齐,使用 0 填充
print("|{:0>10}|".format(number))

# 使用格式化浮点数,保留两位小数,并进行零填充
float_number = 3.14159
print(f"|{float_number:0>10.2f}|")  # 宽度为 10,保留两位小数,右对齐,使用 0 填充
print("|{:0>10.2f}|".format(float_number))

输出结果:

|0000000042|
|0000000042|
|00000003.14|
|00000003.14|

数字的千位分隔符

        为了提高大数字的可读性,可以在数字中添加千位分隔符。

代码示例:

# 数字的千位分隔符
number = 1234567890
print(f"{number:,}")  # 使用逗号作为千位分隔符
print("{:,}".format(number))

输出结果:

1,234,567,890
1,234,567,890

格式化十六进制、八进制和二进制

        数字可以被格式化为十六进制、八进制或二进制表示。

代码示例:

# 十六进制
number = 255
print(f"{number:#x}")  # 输出: 0xff
print("{:#x}".format(number))

# 八进制
print(f"{number:#o}")  # 输出: 0o377
print("{:#o}".format(number))

# 二进制
print(f"{number:#b}")  # 输出: 0b11111111
print("{:#b}".format(number))

输出结果:文章来源地址https://www.toymoban.com/news/detail-798148.html

0xff
0xff
0o377
0o377
0b11111111
0b11111111

到了这里,关于Python 格式化输出:精确控制你的数据表示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python %f格式化输出float的三种用法

    %f是python内置的格式化输出符号,主要用于输出浮点数,一般需要跟print()内置函数进行搭配使用。下面的内容将介绍三种%f的用法。 %f输出浮点数,可能会保留小数点后6位数,下方实例中,%f为格式化输出符号,第二个%符号则用于按顺序匹配对应的%f符号: %f输出指定小数点

    2024年02月15日
    浏览(42)
  • python %s格式化输出的五种用法,实例详解

    %s是python中的一个用于格式化输出的符号,与python内置的print()函数搭配使用,通常情况下用于格式化输出字符串或字符,但实际上,%s也可以用于输出其他的python数据类型。除此之外,%和s之间还可以传递一些参数,比如数值或符号等等,具体的见下方的实例代码。 基本用法

    2024年02月06日
    浏览(49)
  • Python实验一基本数据类型针对用元组创建的5*5矩阵,格式化分行输出元素并分别计算两个主对角线元素之和;

    又到了自闭环节了,做个实验报告差点自闭,自己写的真的是很长的代码才实现,加油吧 这个根据参考网上大佬的方法进行了一些优化,在这里给大家提供参考。 输出结果: 对大家有帮助的话,记得关注点个赞哈!

    2024年02月16日
    浏览(46)
  • 【Python入门篇】——Python基础语法(字符串扩展和格式化的精度控制)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 字符串在Python中有

    2024年02月03日
    浏览(50)
  • 【Python入门篇】——Python基础语法(字符串格式化,表达式格式化和数据输入)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 目前通过%符号占位

    2024年02月05日
    浏览(59)
  • C++常用格式化输出转换

     在C语言中可以用printf以一定的格式打印字符,C++当然也可以。 输入输出及命名空间还不太了解的小伙伴可以看一看C++入门讲解第一篇。  在C++中,可以用流操作符(stream manipulators)控制数据的输出格式,这些流操作符定义在2个头文件( iomanip 和 ios )中,可以用输出运算

    2024年02月04日
    浏览(44)
  • fmt的格式化输入输出

    fmt 包是 Go 语言标准库中用于格式化输入和输出的包,它提供了丰富的函数来控制输出的格式,处理不同类型的数据,并且可以从输入源(如标准输入、文件)读取数据。下面将详细介绍 fmt 包的格式化输出和输入处理。 格式化输出 : fmt 包通过格式字符串来控制输出的格式

    2024年02月13日
    浏览(42)
  • 格式化输入/输出(c语言超详细系列)(一)

    前言; Hello,大家好,我是心跳sy,今天我们主要讨论一下格式化输入/输出(一),包括printf,scanf的基本使用方法及注意事项、转换说明的简单理解以及转义序列的讲解,后续将持续带来对转换说明的深入研究以及输入缓冲的概念与文件相联系的知识,以及包括字符的输入输

    2024年02月13日
    浏览(48)
  • 关于使用JS获取当前时间并格式化输出

    (1)逐个提取并拼接字符串 (2)一步到位提取年月日时分秒(重点) 首先,提取数据到数据 然后,拼接数据格式化输出 (附上,过程剖析)

    2024年02月03日
    浏览(57)
  • AWK语言第二版 1.3 格式化输出

    前一节的 print 语句用于简单和快速的输出。如果对输出格式有更高要求,就要使用 printf 语句。本书后面的例子中,可以看到  printf 语句能生成几乎任意格式的输出,不过本节只会展示它的一小部分能力。细节可以参考附录 A.4.3。 对齐域 printf 语句的格式是 其中的 format 是一

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包