2010-11-26 61 views

回答

121

它們用於格式化字符串。 %s充當字符串的佔位符,而%d充當數字的佔位符。它們的關聯值使用%運算符通過元組傳遞。

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

將打印marcog 42。請注意,名稱是一個字符串(%s),數字是一個整數(十進制爲%d)。

有關詳細信息,請參見http://docs.python.org/library/stdtypes.html#string-formatting-operations

在Python 3的例子是:

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

將語法是什麼樣子的python3? – binki 2014-09-09 20:34:14

+9

print(「%s%d」%(name,number)) – icarus74 2015-01-06 07:05:03

+0

感謝marcog ... – Daniel 2016-06-21 17:56:13

6

它們的格式說明。當你想把你的Python表達式的值包含到字符串中時使用它們,並強制執行特定的格式。

查看Dive into Python的相關詳細介紹。

12

%s用作要插入格式化字符串的字符串值的佔位符。

%d用作數字或十進制值的佔位符。

9

這些是佔位符:

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

這行代碼將取代%s與愛麗絲(STR)和%d與42

輸出:'Hi Alice I have 42 donuts'

大部分時間可以用「+」來實現。爲了深入瞭解您的問題,您可能還需要檢查{}/.format()。這裏有一個例子:Python string formatting: % vs. .format

在此還看到一個谷歌的Python教程視頻@ 40' ,它有一些解釋 https://www.youtube.com/watch?v=tKTZoB2Vjuk

1

如果你想避免%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 
8

%d%s是佔位符,它們作爲可替換的變量工作。例如,如果創建2個變量

variable_one = "Stackoverflow" 
variable_two = 45 

您可以使用變量的元組將這些變量賦值給一個字符串中的句子。

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

注意%s適用於字符串和數字或十進制變量%d工作。

如果打印variable_3它看起來像這樣

print(variable_3 % (variable_one, variable_two)) 

我正在尋找在StackOverflow的答案,結果發現超過45個回答我的問題。

3

%d%s字符串格式化「命令」用於格式化字符串。 %d用於數字,而%s用於字符串。

有關示例:

print("%s" % "hi") 

print("%d" % 34.6) 
0

python 3 doc

%d爲十進制整數

%s爲通用串或對象和對象的情況下,它將被轉換爲串

考慮下面的代碼

name ='giacomo' 
number = 4.3 
print('%s %s %d %f %g' % (name, number, number, number, number)) 

失認沽將

賈科莫4.3 4 4.300000 4.3

,你可以看到%d將截斷成整數,%s會保持格式化,%f將打印爲浮點數並使用%g通用號碼

明顯

print('%d' % (name)) 

會產生一個異常;你不能將字符串轉換爲數字

0

說到其中...
python3.6自帶f-strings這使得格式化更容易!
現在,如果你的Python版本是大於3.6,你可以用這些可用的方法格式化字符串:

name = "python" 

print ("i code with %s" %name)   # with help of older method 
print ("i code with {0}".format(name)) # with help of format 
print (f"i code with {name}")   # with help of f-strings 
相關問題