Python-字符串格式化

%

Python各版本均可使用, 但不推荐使用

格式化的字符串与被格式化的值的位置必须一一对应

例如:

print('name: %s, age: %s' % ('tom', '21'))
符号 功能
%s 格式化字符串
%d 格式化整数(10进制)
%x 格式化整数(16进制)
%f 格式化浮点数(小数)
%b 2进制显示
%o 8进制显示
%, 千分位格式化(1000000 -> 1,000,000 )

更多用法

指定整数长度
%nd, n表示数字 - 表示右对齐, 不足左边补空格, 此处省略 + 表示右对齐
%-nd, n表示数字 - 表示左对齐, 不足右边补空格, 此处 - 表示左对齐
%0nd, n表示数字 - 表示右对齐, 不足左边补0
指定浮点数精度-小数点后几位
%.nf, n表示数字 - 表示保留小数点后n位
%m.nf, m代表整个浮点数的长度, 不足m位用空格补足
%0m.nf, m代表整个浮点数的长度, 不足m位用0补足

format函数

Python2.6中引入的是字符串类型的内置方法, 推荐使用

可以使用位置索引也可以使用关键字参数

例如

print('name: {}, age: {}'.format('tom', '21'))
print('name: {name}, age: {age}'.format(age=21, name='tom'))

format的格式化与%基本类似, 基本将%换成:, 左、右对齐、居中对应<>^即可, 字符串不需要加s

例如

常用格式
{:.nf}, n表示数字 - 表示保留小数点后n位
{:nd}, n表示数字 - 表示右对齐, 不足左边补空格
{:<nd}, n表示数字 - 表示左对齐, 不足右边补空格
{:*^20}, 居中显示,20个字符,不够的用 * 填充

f

Python3.6引入的方式, 性能比前2种更好, 推荐使用

例如

# 先定义变量
name = 'tom'
pi = 3.1415926
print(f'name: {name}, Π: {pi}')

这种方式的格式化与 format函数 高度类似

常用格式
{pi:.nf}, n表示数字 - 表示保留小数点后n位
{num:nd}, n表示数字 - 表示右对齐, 不足左边补空格
{num:<nd}, n表示数字 - 表示左对齐, 不足右边补空格
{name:*^20}, 居中显示,20个字符,不够的用 * 填充, * 可以换为其他字符
posted @ 2022-06-22 11:52  漫漫长夜何时休  阅读(127)  评论(0编辑  收藏  举报