python - 如何在引号内调用 python 函数

标签 python python-2.7

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

但是,限制是这个完整的字符串必须用引号引起来。它看起来像:

date = '日期是 get_date()'

其中 get_date() 是一个以字符串形式返回日期的函数(虽然比这稍微复杂一点)。问题是 python 不允许我在引号内调用函数。

有什么想法吗?

谢谢

编辑: 我会更具体地说明我想做的事情,因为我认为这没有那么复杂,而且你们似乎是一群乐于助人的人。

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

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

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

最佳答案

试试这个:

date = 'The date is {}'.format(get_date())

上面使用格式化字符串,比评估字符串中的代码更简单(也更安全)——并且要评估的实际函数可以作为参数传递,以提高灵 active 。比如修改后的例子:

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.'

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

关于python - 如何在引号内调用 python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18359244/

相关文章:

python - Keras 函数式 API 中的 ResNet50 网络(python)

python - 如何在 django url 中将一个 url 限制为仅一个 View

python - 将 python 元组放在函数签名中

python - 在 tkinter 上使用 GUI 显示 pdf 页面

python - 猴子修补、鸭子打字和论证 self

python - Python的标准库可以做结构化日志记录吗?

python - 在函数末尾设置调试器断点而不返回

javascript - 无法使用 selenium web-driver python 从自动完成下拉列表中选择多个选项

python - Python 中 STRINGS 的 switch-case 语句

python-2.7 - 将字符串列表转换为整数列表