2015-05-22 51 views
0

在Python,差[打印 「總水果」,fruits.fruitsCount]

print "Total Fruits %d" % fruits.fruitsCount 
print "Total Fruits ",fruits.fruitsCount 

輸出是在這兩種情況下相同。這兩個聲明有什麼區別?這個比那個好嗎?

+0

一個更大的空間將被打印在第二個 –

+0

BTW兩個語句在Python 3.x和詞「水果」之間的第二個打印_two_空間無效,他們的數量(因爲空間也是一個分隔符)。 – myaut

+0

第一個通過格式檢查類型,第二個沒有。 – Bravmech

回答

3

這使用字符串格式化首先創建一個單一的字符串,然後打印。

print "Total Fruits ",fruits.fruitsCount 

這一個使用print語句的功能一次打印多個值。 print只會連接所有的值;對於不是字符串的所有內容,它將在值上調用str()。請注意,print語句會自動在每個參數之間添加一個空格,因此您的輸出在「Fruits」和計數之間會有兩個空格。要獲得與上面相同的輸出,請刪除"Total Fruits"中的尾部空格。

至於一個比另一個好,這取決於。如果你只是想輸出東西,那麼僅僅聲明print就簡單多了。但是,如果您需要更多控制輸出格式的方式,則最終將使用格式字符串。如果您想要在字符串中嵌入值,則尤其如此。例如,這是不可能單獨使用(因爲隱含的空間)的print聲明:

print "Fruits in parentheses (%d)" % fruits.fruitsCount 

您還可以使用str.format這是使用格式字符串的新途徑:

print "Fruits in parentheses ({})".format(fruits.fruitsCount) 
1

當你在Python中格式化字符串時使用不同的運算符

%c字符

經由STR %S串轉換()來格式化

%I符號十進制整數

%d符號十進制整數

%U無符號十進制整數之前

八進制整數

%×十六進制整數(小寫字母)

%X十六進制整數(大寫字母)

%E指數表示法(用小寫的 'e')

%E指數表示法(帶有UPPERcase'E')

%F浮點實數

%克的%f和%E

%G所述的%較短f和%E

與上述不同的短字符串格式化運算符用於當您想要將字符串附加到特定變量值時。

例如:

打印 「我的名字是%s和重量爲%d公斤!」 %('chaitanya',21)

聽到帶字符串變量和整數變量在原始字符串上格式化的字符串。

我希望這應該對你有幫助..)