假設我有一個Python print
聲明給出:異常在蟒紋聲明
print "components required to explain 50% variance : %d" % (count)
這種結給人一個ValuError
,但如果我有這個print
聲明:
print "components required to explain 50% variance"
爲什麼這發生了嗎?
假設我有一個Python print
聲明給出:異常在蟒紋聲明
print "components required to explain 50% variance : %d" % (count)
這種結給人一個ValuError
,但如果我有這個print
聲明:
print "components required to explain 50% variance"
爲什麼這發生了嗎?
的錯誤信息是非常有益的位置:
>>> count = 10
>>> print "components required to explain 50% variance : %d" % (count)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character 'v' (0x76) at index 35
所以Python看到% v
並認爲它是一種格式的代碼。但是,v
不是受支持的格式字符,因此會引發錯誤。
修復程序一旦知道它就很明顯 - 您需要轉義不屬於格式代碼的%
。你是怎樣做的?通過添加另一個%
:
>>> print "components required to explain 50%% variance : %d" % (count)
components required to explain 50% variance : 10
注意,你也可以使用.format
這是在很多情況下更方便,功能強大:
>>> print "components required to explain 50% variance : {:d}".format(count)
components required to explain 50% variance : 10
的%
運營商,應用到字符串,執行一個替代字符串中的每個'%'。 '50%'沒有指定有效的替換;只需在字符串中包含百分號,就必須加倍。
「打印」組件需要解釋50 %%方差:%d「%(count)' – styvane
'.format'更復雜,只是一個提示 –