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
和%s
string格式化“命令”用于格式化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