即格式化字符串
使用后,在需要输出的长字符串中占位置。输出字符串时,可以依据变量的值,自动更新字符串的内容。
比如
print(“he's got %s eyes and %s hair."%(my_hair,my_eyes))
%s在字符串中预先占位置,同时%s,%d等代表不同的字符类型:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
以下几点需要注意:
1.%s,%d等类型确定后,会按顺序去引用%后的变量,即第一个%s会引用my_hair,第二个%s会引用my_eyes。
2.如果变量数据类型与预先定义%s等类型不符合则会报错。
3.若变量需要计算,可以在(my_hair,my_eyes)内对变量直接进行计算,字符串中引用的变量为计算之后的结果。
4.同时%s和%r的输出结果区别,在
https://stackoverflow.com/questions/6005159/when-to-use-r-instead-of-s-in-python
有详细解释,下面这段代码及输出结果是核心。
>>> import datetime >>> d = datetime.date.today() >>> str(d) '2011-05-14' >>> repr(d) 'datetime.date(2011, 5, 14)'