天天看点

python字符串的格式化(python工程狮)

转换说明符(格式符)

print()

函数以

%

开头的

转换说明符

对各种类型的数据进行格式化输出,

转换说明符

只是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。具体使用请看下表:
转换说明符 描述
%s 使用 str() 函数将表达式转换为字符串
%d、%i 转换为带符号的十进制整数
%x、%X 转换为带符号的十六进制整数
%e 转化为科学计数法表示的浮点数(e 小写)
%E 转化为科学计数法表示的浮点数(E 大写)
%f、%F 转化为十进制浮点数
%g 智能选择使用 %f 或 %e 格式
%G 智能选择使用 %F 或 %E 格式
%c 格式化字符及其 ASCII 码
%r 使用 repr() 函数将表达式转换为字符串
%s 使用 str() 函数将表达式转换为字符串

使用方法示例:

print('%s是吴承恩写的' % '《西游记》')
#输出结果:《西游记》是吴承恩写的
print('秦始皇生于公元前%d年' % 259)
#输出结果:秦始皇生于公元前259年
print(' π约等于%f ' % (3.14159))
#输出结果: π约等于3.141590
print(' π约等于%.2f ' % (3.14159))
#输出结果: π约等于3.14 ,上面的.2用于指定浮点数的小数点位数
.
.
.
其他方法在这里就不一一演示了,感兴趣的可以自己在编译器试一下           

复制

格式化操作符辅助指令

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

字符串的.format()方法

str.format()支持多种方式的格式化,主要使用{}控制格式化,我们通过下面的案例来了解

print('{} {}' .format('hello', 'logic'))   #设置指定位置,按默认顺序
#输出结果:hello logic
print('{0}生于公元前{1}年' .format('秦始皇', 259) )   #设置指定位置
#输出结果:秦始皇生于公元前259年
print("书名:{book}, 作者:{name}".format(name = '吴承恩', book = "西游记",))   #设置参数
#输出结果:书名:西游记, 作者:吴承恩           

复制