%s和%d在Python字符串格式上有什么区别?

2024-04-19 02:25:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白%s%d做什么以及它们是如何工作的。


3条回答

%s用作要注入格式化字符串的字符串值的占位符。

%d用作数值或十进制值的占位符。

例如(对于python 3)

print ('%s is %d years old' % ('Joe', 42))

将输出

Joe is 42 years old

来自python 3 doc

%d表示十进制整数

%s用于泛型字符串或对象,如果是对象,则将其转换为字符串

考虑以下代码

name ='giacomo'
number = 4.3
print('%s %s %d %f %g' % (name, number, number, number, number))

结果是

giacomo 4.3 4 4.300000 4.3

如您所见,%d将截断为整数,%s将保持格式,%f将打印为浮点,并且%g用于泛型数

显然

print('%d' % (name))

将生成异常;无法将字符串转换为数字

它们用于格式化字符串。%s充当字符串的占位符,而%d充当数字的占位符。它们的关联值使用%运算符通过元组传入。

name = 'marcog'
number = 42
print '%s %d' % (name, number)

将打印marcog 42。请注意,name是一个字符串(%s),number是一个整数(decimal为%d)。

有关详细信息,请参见https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting

在Python 3中,示例如下:

print('%s %d' % (name, number))

相关问题 更多 >