python中oxf2是多少_全网最细 Python 格式化输出用法讲解(推荐)

一、使用 print() 函数

在 Python 中,print() 函数支持格式化输出,与 C 语言的 printf 类似。

1. 格式化输出字符串和整数

【示例1】输出字符串 AmoXiang,并计算、输出它的字符长度

str1 = "%s.length = %d" % ("AmoXiang", len("AmoXiang"))

print(str1) # 输出AmoXiang.length = 8

% 在字符串中表示格式化操作符,它后面必须附加一个格式化符号,具体说明如下表所示。

ce3c89dc3ac144c7835a8a7c9b8e41dc.png

%()元组可以包含一个或多个值,如变量或表达式,用来向字符串中%操作符传递值,元组包含元素数量、顺序都必须与字符串中%操作符一一对应,否则将抛出异常。%()元组必须位于字符串的后面,否则无效。如果字符串中只包含一个%操作符,那么也可以直接传递值。例如:

str1 = "AmoXiang.length = %d" % len("AmoXiang")

print(str1) # 输出AmoXiang.length = 8

2. 格式化输出不同进制数

【示例2】使用 print() 函数把数字输出为十六进制、十进制、八进制格式的字符串。

num = 123

# 输出:Hex = 7b Dec = 123 Oct=173

print("Hex = %x Dec = %d Oct=%o" % (num, num, num))

补充:整数类型包括十进制整数、八进制整数、十六进制整数和二进制整数。

十进制的整数不能以 0 开头。八进制整数由 0~7 组成,逢八进一,以 0o 或 0O 开头,例如:0o23十六进制整数由 0~9 以及 a~f 组成,逢十六进一,以 0x 或 0X 开头。例如:0x23二进制整数由 0 和 1组成,逢二进一,以 0b 或 0B 开头。例如:0b101关于进制这个知识点不懂的读者可以点击 进制转换 学习

3. 格式化输出浮点数

【示例3】把数字输出为不同格式的浮点数字符串。

PI = 3.141592653

print("pi1 = %10.3f" % PI) # 总宽度为10,小数位精度为3

print("pi2 = %.*f" % (3, PI)) # *表示从后面的元组中读取3,定义精度

print("pi3 = %010.3f" % PI) # 用0填充空白

print("pi4 = %-10.3f" % PI) # 左对齐,总宽度10个字符,小数位精度为3

print("pi5 = %+f" % PI) # 在浮点数前面显示正号

程序运行结果如下:

182af609b39d4e5160666b5d1b689d7a.png

在格式化输出数字或字符串时,可以附加辅助指令来完善格式化操作。具体说明如下表所示:

7aea6c0c0250ed76ab817f8e0982db40.png

二、使用 str.format() 方法

% 操作符是传统格式化输出的基本方法,从 Python 2.6 版本开始,为字符串数据新增了一种格式化方法 str.format(),它通过 {} 操作符和 : 辅助指令来代替 % 操作符。

【示例1】通过位置索引值

print('{0} {1}'.format('Python', 3.7)) # Python 3.7

print('{} {}'.format('Python', 3.7)) # Python 3.7

print('{1} {0} {1}'.format('Python', 3.7)) # 3.7 Python 3.7

在字符串中可以使用 {} 作为格式化操作符。与 % 操作符不同的是,{} 操作符可以通过包含的位置值自定义引用值的位置,也可以重复引用。

【示例2】通过关键字索引值

# 输出:Amo年龄是18岁。

print('{name}年龄是{age}岁。'.format(age=18, name="Amo"))

【示例3】通过下标进行索引

L = ["Jason", 30]

# 输出:Jason年龄是30岁。

print('{0[0]}年龄是{0[1]}岁。'.format(L))

通过使用 format() 函数这种便捷的 映射 方式,列表和元组可以 打散 成普通参数传递给 format() 方法,字典可以打散成关键字参数给方法。format() 方法包含丰富的格式限定符,附带在 {} 操作符中 : 符号的后面。

1. 填充与对齐

: 符号后面可以附带填充的字符,默认为空格, ^、 分别表示居中、左对齐、右对齐,后面附带宽度限定值。

【示例4】下面示例设计输出 8 位字符,并分别设置不同的填充字符和值对齐方式。

print('{:>8}'.format('1')) # 总宽度为8,右对齐,默认空格填充

print('{:0>8}'.format('1')) # 总宽度为8,右对齐,使用0填充

print('{:a<8}'.format('1')) # 总宽度为8,左对齐,使用a填充

程序运行结果如下:

a7bb358fd45b40f1e9b0baefbcbc2921.png

2. 精度与类型f

【示例5】f 与 float 类型数据配合使用

print('{:.2f}'.format(3.141592653)) # 输出结果:3.14

其中 .2f 表示小数点后面的精度为 2,f 表示浮点数输出。

3. 进制数字输出

【示例6】使用b、d、o、x 分别输出二进制、十进制、八进制、十六进制数字。

num = 100

print('{:b}'.format(num)) # 1100100

print('{:d}'.format(num)) # 100

print('{:o}'.format(num)) # 144

print('{:x}'.format(num)) # 64

4. 千位分隔输出

【示例7】使用逗号(,)输出金额的千分位分隔符。

print('{:,}'.format(1234567890)) # 1,234,567,890

三、详解 format() 函数

format()函数可以对数据进行格式化处理操作。语法格式如下:

a373fdf4ce0a7132b5e5f070a009a838.png

format_spec为格式化解释。当参数 format_spec 为空时,等同于函数 str(value) 的方式。value 为要转换的数据。format_ spec 可以设置非常复杂的格式转换参数,生成比较完备的数据格式处理模板。format_spec 的编写方式如下形式:

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]

format_spec 格式控制符可以分为文字对齐、填充值、标志设置、格式化、类型转换、千位符(数字分组)等主要应用。细化分类说明如下图所示:

d8c68a7cabf7d1fccfa5e79f86c890d8.png

参数说明:

(1) fill(填充值):此处可以填写任何字符,通常与align、width一起使用,实现指定位数字符填充,通常格式如图1.2所示,填充效果及位置如图1.3所示。

695411cc722c077aa67aaf6941ce4236.png

通常用 0、*、#、@ 等进行填充。如果不写填充

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值