为什么 PyCharm 显示混合关键字和位置占位符的 lint 错误 "too few arguments for format string"?

Why PyCharm shows lint error "too few arguments for format string" for mixed keyword and position placeholder?

考虑以下代码:

s = 'ab{}cd{mykey}ef{}gh'.format('01', '23', mykey='45')
print(s)

有 3 个占位符:两个位置和一个关键字。我提供了足够的参数,脚本正常运行,产生以下输出:

ab01cd45ef23gh

但是 PyCharm 警告我以下内容:

我的问题是:

  1. 为什么 PyCharm 发出警告?
  2. 我应该禁用该警告吗?如何禁用?
  3. 或者,也许 Python 不推荐使用这种代码(混合位置和关键字占位符)?有文件这么说吗?

我正在使用 PyCharm Community 2018.1 EAP 和 Python 3.7.5

更新你的PyCharm(目前最新的是2020.1.3)。 这是一个 IDE 错误,自 2018 年以来已修复。