2014-12-03 47 views
0
s1 = "cats" 

print "are 10 cats {}" .format(s1*10) 
print "are 10 cats {10cats}" .format(10cats=s1*10) 

第一个print工程,第二个我得到SyntaxError: invalid syntax。为什么?python字符串格式化使用.format和变量

+0

或者解压的字典' “...... ”..格式(** {“ 10cats”:S1 * 10})' – jonrsharpe 2014-12-03 13:02:40

+3

这是一种奇怪的在你的变量名称有编号的。如果你的老板明天进来并说“在猫项目上做得不错,但我们需要将最大猫的容量从10增加到20”。现在你必须用'_20cats'替换你的'_10cats'变量。 – Kevin 2014-12-03 13:04:03

回答

4

python(和许多其他语言)中的变量名称cannot start with numbers。如果你使用了一个合法的变量名,第二个可以正常工作。

>>> s1 = "cats" 
>>> print("are 10 cats {cats}" .format(cats=s1*10)) 
are 10 cats catscatscatscatscatscatscatscatscatscats 
相关问题