2016-11-15 71 views
0

我正在通過Mathew Driscoll的「Python 101」工作,並在嘗試此操作時遇到了問題。新的字符串格式化方法

>>> print("%(lang)s is fun!" % {"lang":"python"}) 

我明白我想要使用Python字典這裏與郎是一個「鍵值對」 我做的是什麼複製在書,但書已經出來了一段時間,我使用最新版本的Python。

這是錯誤我得到:

Traceback (most recent call last): 
    File "<pyshell#78>", line 1, in <module> 
    print("%(lang)s is fun!" % {"lang":"python"}) 
TypeError: 'str' object is not callable 
+1

您可能還需要尋找到'格式()'和[格式化語言(https://docs.python.org/3.5/library/string.html#formatspec),又名新樣式字符串格式化是旨在取代傳統的'%'方法。 – AChampion

回答

3

你命名的變量print。不這樣做,(在一般情況下,從來沒有用的名字作爲一個Python內置相同名稱的變量,因此而得名strintlistsetdict等不變量)。要解決當前的解釋器會話中運行:

del print 

這將刪除print可變陰影內置print功能,恢復原始print功能。然後,該行將運行良好。