python中的%运算符是什么?

时间:2009-08-04 22:58:56

标签: python

我已经看到在一些与字符串相关的Python代码中使用%运算符,例如:

String = "Value: " % variable

这是什么意思?它与使用有何不同:

String = "Value: " + variable

6 个答案:

答案 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)

阅读formatting strings

  • '%'是格式化字符串运算符
  • '+'将是concat运算符

答案 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