Pythonstring格式化中的%s和%d有什么区别?

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

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

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

将打印marcog 42 。 请注意,名称是一个string(%s),数字是一个整数(十进制的%d)。

有关详细信息,请参阅http://docs.python.org/library/stdtypes.html#string-formatting-operations

在Python 3中,例子是:

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

%s用作要注入到格式化string中的string值的占位符。

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

这些是占位符:

例如: 'Hi %s I have %d donuts' %('Alice', 42)

这行代码将用%(s)replace%s,%d用42replace。

输出: 'Hi Alice I have 42 donuts'

大部分时间可以用“+”来实现。 为了更深入地理解你的问题,你也可以检查{/ .format()。 这是一个例子: Pythonstring格式:%与.format

也看到这里一个谷歌蟒教程video@ 40',它有一些解释https://www.youtube.com/watch?v=tKTZoB2Vjuk

%d和%s是占位符,它们作为可replace的variables来工作。 例如:

如果你创build2个variables

variable_one = "Stackoverflow" variable_two = 45

您可以使用variables的元组将这些variables赋值给一个string中的一个句子。

variable_3 = "I was searching for an answer in %s and found more than %d answers to my question"

请注意,%s适用于String和%d,适用于数字或小数variables。

如果你打印variable_3,它会看起来像这样

print(variable_3 % (variable_one, variable_two))

我正在寻找Stackoverflow的答案,并find超过45我的问题的答案。

他们是格式说明符。 当你想把你的Pythonexpression式的值包含到string中时使用它们,强制使用特定的格式。

请参阅深入Python以获得相对详细的介绍。

%d%sstring格式化“命令”用于格式化string。 %d代表数字, %s代表string。

举个例子:

 print("%s" % "hi") 

 print("%d" % 34.6) 

如果你想避免%s或%d那么..

 name = 'marcog' number = 42 print ('my name is',name,'and my age is:', number) 

输出:

 my name is marcog and my name is 42