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功能。然后,该行将运行良好。