字符串格式。从本地环境获取关键字参数

2024-04-20 04:10:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常看到下面的模式,我想知道是否有办法避免重复。你知道吗

life = 42
badger = some_function()
s = "({life}, {badger})".format(life=life,badger=badger)

局部变量通常具有与其在字符串中的含义相对应的连贯名称。我现在用的是更简洁的:

s = "({0}, {1})".format(life,badger)

模板通常更清晰使用关键字。是否有一种通用/简洁的方法来获取格式,以便在包含函数的词汇环境中查找关键字?你知道吗

s  = "({life}, {badger})".format(env())

谢谢!你知道吗


Tags: 方法字符串名称模板format格式模式function
3条回答

python3.6已经用literal string interpolation;f字符串解决了这个问题:

>>> life = '2'
>>> badger = 'more'
>>> f'{life} {badger}'
'2 more'

如果升级不会花那么多钱,那么你可以朝这个方向看。你知道吗

如果不能使用f字符串,可以选择将^{}**kwargs参数传递形式一起使用:

>>> a = 3
>>> b = 5
>>> '{a} {b}'.format(**locals())
'3 5'

您可以使用locals()。你知道吗

s  = "({life}, {badger})".format(**locals())

相关问题 更多 >