python中的%s %d都是什么意思?

格式化字符串

使用后,在需要输出的长字符串中占位置。输出字符串时,可以依据变量的值,自动更新字符串的内容。

比如

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)'

你可能感兴趣的:(python中的%s %d都是什么意思?)