文章目录
格式化函数format
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点:
-
在
%方法中%s只能替代字符串类型,而在format()中不需要理会数据类型; -
单个参数可以多次输出,参数顺序可以不相同;
-
填充方式十分灵活,对齐方式十分强大;
-
官方推荐用的方式,
%方式将会在后面的版本被淘汰。
常用格式
以下开始实例介绍:
# 不设定指定位置,按照默认位置
print('{} {} {}'.format('i', 'am', 'Groot'))
输出:
i am Groot
# 设定指定位置
print('{1} {2} {0}'.format('Groot', 'i', 'am'))
输出:
i am Groot
# 直接设定参数
print('{Subject} {Verb} {Object}'.format(Subject='i', Verb='am', Object='Groot'))
输出:
i am Groot
# 通过字典设定参数
dir_case = {'Subject':'i', 'Verb':'am', 'Object':999}
print('{Subject} {Verb} {Object}'.format(**dir_case))
输出:
i am 999
# 通过列表设定参数
list_case1 = ['i', 'am']
list_case2 = ['Groot', 666]
print('Subject:{0[0]} Verb:{0[1]} Object:{1[0]} 999:{1[1]}'.format(list_case1, list_case2))
输出:
Subject:i Verb:am Object:Groot 999:666
# 通过对象设定参数
class setValue(object):
def __init__(self, value):
self.value = value
my_value1 = setValue('i am Groot')
my_value2 = setValue('i am 999')
print('value1是:{0.value} \nvalue2是:{1.value}'.format(my_value1, my_value2))
输出:
value1是:i am Groot
value2是:i am 999
数字格式化
# 数字格式化
print('数字为:{:.3f}'.format(3.1415))
输出:
数字为:3.142
其他格式数字的方法:
| 数字 | 格式 | 输出 | 描述 |
|---|---|---|---|
| 3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
| 3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
| -1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
| 2.71828 | {:.0f} | 3 | 不带小数 |
| 5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
| 5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
| 10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
| 1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
| 0.25 | {:.2%} | 25.00% | 百分比格式 |
| 1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
| 13 | {:>10d} | 13 | 右对齐 (默认, 宽度为10) |
| 13 | {:<10d} | 13 | 左对齐 (宽度为10) |
| 13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
| 11 | ‘{: b}’.format(11) ’{: d}’.format(11) ’{: o}’.format(11) ’{: x}’.format(11) ’{: #x}’.format(11) ’{: #X}’.format(11) | 1011 11 13 b 0xb 0XB | 2进制 10进制 8进制 16进制 16进制(带0x 小写)16进制(带0X 大写) |
^,<, > 分别是居中、左对齐、右对齐,后面带宽度, :号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
此外我们可以使用大括号{} 来转义大括号,如下实例:
# 采用{}转义
print ("{} 是 {{银护的台词}}".format("i am Groot"))
输出:
i am Groot 是 {银护的台词}
本文详细介绍Python中format函数的使用方法,包括基本语法、参数设定、数字格式化等高级功能,帮助读者掌握更灵活的字符串处理技巧。
1535

被折叠的 条评论
为什么被折叠?



