如何使用pythonf字符串替换format()?

我在我的 constants.py 文件中保存了一些网址,如下所示:

BASE_URL = 'https://{env}.my-site.com'
ENV_URLS = {
    'dev': BASE_URL.format(env='dev'),
    'demo': BASE_URL.format(env='demo'),
    'prod': BASE_URL.format(env='prod')
}

这是使用 old 完成的.format(),如何使用 python 的 new 实现相同的结果f-string formatting

回答

f-strings 本身并不是目标。如果看起来 f-strings 不会改进一段代码,那么就没有理由去寻找强制它们的方法。

也就是说,这段代码是不必要的重复。可以通过 dict 理解来缩短它:

ENV_URLS = {env: BASE_URL.format(env=env) for env in ['dev', 'demo', 'prod']}

然后如果你想使用一个 f 字符串,这样做很容易:

ENV_URLS = {env: f'https://{env}.my-site.com' for env in ['dev', 'demo', 'prod']}


以上是如何使用pythonf字符串替换format()?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>