在PHP中,可以写:
$fruit = 'Pear';
print("Hey, $fruit!");
Run Code Online (Sandbox Code Playgroud)
但在Python中它是:
fruit = 'Pear'
print("Hey, {0}!".format(fruit))
Run Code Online (Sandbox Code Playgroud)
有没有办法让我在字符串中插入变量?如果没有,这更加pythonic怎么样?
获得参考的任何人的奖励积分
knu*_*tin 11
您可以获得最接近PHP行为的是,并且仍在维护您的Python-zen:
print "Hey", fruit, "!"
Run Code Online (Sandbox Code Playgroud)
print将在每个逗号处插入空格.
更常见的Python习语是:
print "Hey %s!" % fruit
Run Code Online (Sandbox Code Playgroud)
如果你有大量的参数并想要命名它们,你可以使用一个dict:
print "Hey %(crowd)s! Would you like some %(fruit)s?" % { 'crowd': 'World', 'fruit': 'Pear' }
Run Code Online (Sandbox Code Playgroud)
你现在这样做是一种pythonic方式.您还可以使用本地词典.像这样:
>>> fruit = 'Pear'
>>> print("Hey, {fruit}".format(**locals()))
Hey, Pear
Run Code Online (Sandbox Code Playgroud)
现在看起来并不是非常pythonic,但它是实现PHP格式中相同效果的唯一方法.我只是坚持你的方式.