我已经看到在一些与字符串相关的Python代码中使用%运算符,例如:
String = "Value: " % variable
这是什么意思?它与使用有何不同:
String = "Value: " + variable
答案 0 :(得分:11)
用于将值插入包含format specifications
的字符串中string = "number is %d" % 1
或
string = "float is %.3f" % 3.1425
这与C
中的spintf类似您可以通过两种方式插入多个值:
string = "number %d and float %f" % (1,3.1415)
string = "number %(mynum)d and float %(myfloat)f" % {'mynum':1,'myfloat':3.1415}
答案 1 :(得分:2)
%是字符串格式化运算符(也称为插值运算符),请参阅http://docs.python.org/library/stdtypes.html#string-formatting
答案 2 :(得分:2)
对于字符串,%是formatting operator。它还标志着格式说明符的开始。
+运算符将使用+的右侧在字符串末尾连接一个字符串。 %运算符将在格式说明符的位置以格式化方式替换格式说明符。
对于数字,%是modulo operation或除法后的余数。
答案 3 :(得分:0)
答案 4 :(得分:0)
根据John E. Grayson在他的书“Python and Tkinter Programming”中的说法,使用字符串格式化而不是连接可以将性能提高至少25%。
a = x +''+ y +''+ z
比
慢25%a ='%s%s%s'%(x,y,z)
在Python 3中,你也可以这样做:
a ='{} {} {}'。format(x,y,z)
答案 5 :(得分:0)
(另外,如果您不知道):当不在字符串上使用时,%
充当模数函数
>>> 5 % 5
0
>>> 1 % 4
1