替换表达式中的值,并以python格式()对替换的值执行操作

替换表达式中的值,并以python格式()对替换的值执行操作,python,Python,我有一个像'a{year}-b{year-1}'这样的表达式,'year'的值可以是任何整数值,我想用我拥有的'year'的任何值替换表达式中的'year' 所以当我试着去做 expression = 'a{year}-b{year-1}' new_exp = expression.format(year=2001) 它给了我一个关键错误:“第一年” 有可能得到“a2001-b2000”吗?我编写了一个傻瓜类,函数可以做到这一点:(我发现它不会覆盖原始的格式函数。) 也可以使用

我有一个像'a{year}-b{year-1}'这样的表达式,'year'的值可以是任何整数值,我想用我拥有的'year'的任何值替换表达式中的'year'

所以当我试着去做

    expression = 'a{year}-b{year-1}'
    new_exp = expression.format(year=2001)
它给了我一个关键错误:“第一年”


有可能得到“a2001-b2000”吗?

我编写了一个傻瓜类,函数可以做到这一点:(我发现它不会覆盖原始的
格式
函数。)

也可以使用此选项,只传递一个参数:

expression = lambda year:"a{}-b{}".format(year,year-1)
print(expression(year=2001))

你使用的Python版本是什么?你想要这个
表达式='a{}-b{}.format(year,year-1)
?@jizhaosama,它可以工作,但是表达式可能有两个以上的术语,我不能以format()的形式将它们作为值传递。我正在寻找一个答案,我可以提供一年的价值,它将自动处理。。
expression = lambda year:"a{}-b{}".format(year,year-1)
print(expression(year=2001))