python字符串处理,专栏总目录:
python字符串格式化有多找方法,进行常用方法整理。
1、%
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。用%%来表示一个%。
转换说明符 |
说明 |
%d,%i |
转换为带符号的十进制形式的整数 |
%o |
转换为带符号的八进制形式的整数 |
%x,%X |
转换为带符号的十六进制形式的整数 |
%e |
转化为科学计数法表示的浮点数(e 小写) |
%E |
转化为科学计数法表示的浮点数(E 大写) |
%f,%F |
转化为十进制形式的浮点数 |
%g |
智能选择使用 %f 或 %e 格式 |
%G |
智能选择使用 %F 或 %E 格式 |
%c |
格式化字符及其 ASCII 码 |
%r |
使用 repr() 将变量或表达式转换为字符串 |
%s |
使用 str() 将变量或表达式转换为字符串 |
其中,整数、浮点数可以指定是否补0和整数与小数的位数,如:
1.1、数字格式化
数字 格式 输出 描述
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)
1.2、进制转换
11 '{:b}'.format(11) 1011 二进制
11 '{:d}'.format(11) 11 十进制
11 '{:o}'.format(11) 13 八进制
11 '{:x}'.format(11) b 十六进制
11 '{:#x}'.format(11) 0xb 十六进制
11 '{:#X}'.format(11) 0XB 十六进制
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格。
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
1.3、输出大括号
print("{} {{0}}".format("opcai_linux"))
opcai_linux {0}
2、format()
format()方法,基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
2.1、位置参数
它会用传入的参数依次替换字符串内的占位符{0}、{1}……,占位符参数默认从0 开始编号,若顺序一致,可省略占位符。
2.2、关键字参数
使用关键字参数:
"{a} love {b}{c}".format(a="I", b="ice",c="cream")
位置参数和关键字参数可以结合使用,如:
"{0} love {b}{c}".format("I", b="ice",c="cream")
但是注意位置参数必须要在关键字参数之前,注意点与python语法一致。
使用列表格式化:
person = {"name":"opcai","age":20}
print("My name is {name} . I am {age} years old .".format(**person))
My name is opcai . I am 20 years old .