如何在引号内调用python函数

use*_*804 2 python python-2.7

我正在编写一个函数来生成一个字符串的一部分,并将在另一个字符串中调用,以便它完成句子.

但是,限制是必须在引号中设置此完整字符串.它看起来像:

date = 'The date is get_date()'

其中get_date()是一个在字符串中返回日期的函数(虽然比这复杂一点).问题是python不会让我在引号内调用函数.

有任何想法吗?

谢谢

编辑:我会更具体地说明我正在尝试做什么,因为我不认为它是那么复杂,你似乎是一个有用的群体.

我有一个定义了一堆变量的配置文件(conf.py).其中一个我想操作(使用python脚本)是版权年份:

one_of_the_options = [('example1', 'Copyright 2008-CURRENTYEAR Company Name Ltd.')]

CURRENTYEAR是我想通过python脚本的输出来控制的,我的函数只是将年份作为字符串返回.

Ósc*_*pez 5

试试这个:

date = 'The date is {}'.format(get_date())
Run Code Online (Sandbox Code Playgroud)

以上使用格式化字符串,比评估字符串中的代码更简单(更安全) - 并且要评估的实际函数可以作为参数传递,以提高灵活性.例如,对于编辑后的示例:

def get_current_year():
    return '2013' # just an example, not the real function

s = 'Copyright 2008-{} Company Name Ltd.'
s.format(get_current_year())
=> 'Copyright 2008-2013 Company Name Ltd.'
Run Code Online (Sandbox Code Playgroud)

格式化字符串允许您{}使用您想要的任何值替换字符串中的占位符,特别是,它可以是函数调用.阅读文档中有关格式字符串的更多信息.