在python中有类似Rubys "Hello #{userNameFunction()}"
的内容吗?
答案 0 :(得分:9)
在Python中,您将使用字符串插值
"Hello %s" % user_name_function()
或字符串格式化
"Hello {0}".format(user_name_function())
后者在Python 2.6或更高版本中可用。
另请注意,按照惯例,您不要将CamelCase用于Python中的函数名称(CamelCase仅用于类名称 - 请参阅PEP 8)。
答案 1 :(得分:2)
Python的字符串插值最接近你想要的。
最常见的形式是:
>>> "Hello %s" % userNameFunction()
'Hello tm1brt'
这使用元组按字符串中所需的顺序提供数据。
但是,你也可以使用dict
并在字符串中使用有意义的数据:
>>> "Hello %(name)s" % {'name' : userNameFunction()}
'Hello tm1brt'
答案 2 :(得分:1)
在Python 2.4+中,您可以使用Template
class中的string
module来执行以下操作:
from string import Template
def user_name_function(): return "Dave"
s = Template('Hello $s')
print s.substitute(s=user_name_function())
# 'Hello Dave'
print s.substitute({'s': user_name_function()})
# 'Hello Dave'