2009-08-04 47 views
1

我見過%運營商相關的字符串一些Python代碼中使用了,如:python中的%運算符是什麼?

String = "Value: " % variable 

這是什麼意思?它是如何不同的使用:

String = "Value: " + variable 
+3

你的第一行代碼缺少的東西: S =「值:%的」%變量 – Agathe 2009-08-04 23:04:56

+0

那麼它拋出一個錯誤,所以這就是爲什麼我問;) – samoz 2009-08-04 23:11:41

回答

11

其將值插入含有format specifications

string = "number is %d" % 1 

string = "float is %.3f" % 3.1425 

這部作品以類似的方式spintf用C

您可以用兩種方式插入多個值:

string = "number %d and float %f" % (1,3.1415) 
string = "number %(mynum)d and float %(myfloat)f" % {'mynum':1,'myfloat':3.1415} 
2

對於字符串%是formatting operator。它也標誌着格式說明符的開始。

+運算符將在字符串的末尾串聯一個字符串,同時在+的右側。 %運算符將在格式說明符的位置以格式化的方式替換格式說明符。

對於數字%是模數運算符。 (剩餘)

0

根據John E. Grayson在其「Python和Tkinter編程」一書中所述,使用字符串格式化程序而不是串聯可以將性能提高至少25%。

一個= X + '' + Y + '' + Z

一個= '%s%S%S' %(X,Y,Z)

慢25%

在Python 3,您也可以這樣做:

一個= '{} {} {}' 格式(X,Y,Z)

0

(順便說一句,如果你沒」。 t知道):當不在字符串上使用時,%充當一個模塊LO功能

>>> 5 % 5 
0 
>>> 1 % 4 
1