Python 格式化字符串

格式化字符串方法

  1. 使用 % 操作符号
  2. 使用字符串对象的 format() 方法

方法一

% (python早期版本中使用的方法)
语法: '%str'%args

1. 第一部分 '%str',要指定的 格式化模板
  其中,str 格式为 [-][+][0][m][.n]string

参数可选/必需形式说明备注
[-]可选-左对齐,在负数前加上 “负号”,正数前无符号
[+]可选+右对齐,在负数前加上“负号”,正数前加上“正号”
[0]可选0右对齐,在负数前加上 “负号”,正数前无符号,并且用“0” 填充空白处
常与 [m] 共用
[m]可选整数表示数值所占的宽度
[0][m] 连接使用时, 表示不足 m 位数的前面 补充 0
[.n]可选.整数小数点后保留的位数
string必需格式化的字符串要格式为的类型,例如:
格式化为 字符串 则为 s十进制数 则为 d浮点数 则为 f

2. 第二部分 %args
 要转换为的项目,转换多个项目时,必需使用 元组,而不能使用 列表

例如:

template = '编号: %07d\t公司名称:%s \t 官网:http://www.%s.com'  # 定义格式化模板
item = (7,"百度","baidu")	#要格式化的内容
print(template%item)    
# 以上三句等效于以下
print('编号: %07d\t公司名称:%s \t 官网:http://www.%s.com'%(7,"百度","baidu"))
	
# 输出结果:
# 编号: 0000007	公司名称:百度 	 官网:http://www.baidu.com

python字符串格式化符号

符号描述
%c格式化 字符及其ASCII码
%s格式化 字符串
%d格式化 整数
%u格式化 无符号整型
%o格式化 无符号八进制数
%x格式化 无符号十六进制数
%X格式化 无符号十六进制数(大写)
%f格式化 浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同 %e,用科学计数法格式化浮点数
%g%f%e 的简写
%G%f%E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号 +
<sp>在正数前面显示 空格
#在八进制数前面显示零 0,在十六进制前面显示 0x 或者 0X (取决于用的是 x 还是 X )
0显示的数字前面填充’0’而不是默认的空格
%%% 输出一个单一的 %
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)


方法二、

.format() (Python2.6 之后的方法,推荐使用)
语法: str.format(args)

1. 第一部分 str,要指定的 格式化模板,其格式如下
    {[index][:[[Fill]align][#][width][.precision][type]]}

参数说明备注
index指定格式对象在参数列表中的索引(索引值从0开始)位置,如果省略则按照值的先后顺序自动分配
fill指定空白处填充的字符
align指定对齐方式,常与 width 一起使用
< 内容左对齐,> 内容右对齐,^ 内容居中
= 内容左对齐并且把填充符号 fill 填充在值的右侧 (仅对数字有效)
sign指定有无符号
+ 正数加正号,负数加负号; - 正数不变,负数加负号;空格 正数加空格,负数加负号
#指定二进制、八进制、十六进制是否加前缀的,有 # 则会添加相应的前缀
二进制加 0b ; 八进进制加 0o ; 二进制加 0x
width指定字符串所占宽度
precision指定要保留的小数位数
type要格式化的值的类型。
s 表示字符串;d 十进制正数; f 浮点数

2. 第二部分 args
   要转换为的项目,转换多个项目时,使用 逗号 进行分割

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值