我想问的是,如果:=运算符可以改进代码的话,是否有一种Pylint风格的代码分析器能够建议在某些地方使用:=运算符.然而,这项测试似乎是两年前在第pylint项测试中增加的-->github PR (merged).

无论如何,我从来没有看到过这样的建议,即使是这个例子,比如链接的公关:

x = 2
if x:
    print(x)

# -----
# if (x := 2):
#    print(x)
# -----

此功能从Python3.8开始可用.(我正在使用最新的Python和pylint版本.)我认为我必须以某种方式启用它,但帮助显示:

--py-version <py_version>个 用于版本相关判断的最低Python版本.将要 默认为用于运行pylint的版本.

怎么啦?为什么pylint没有consider-using-assignment-expr

推荐答案

通过将以下行添加到您的pylint配置文件中,可以启用consider-using-assignment-expr签入pylint.我使用的是名为pylint.toml的配置文件:

[tool.pylint.main]
load-plugins="pylint.extensions.code_style"

然后,您可以使用pylint --rcfile <config_file> <python_file>来运行Linter.

请参见here for more instructions.请注意,我使用的是Python3.11和Pylint 2.17,但从Python3.8开始应该可以进行判断.

Python相关问答推荐

将numpy数组存储在原始二进制文件中

Python在tuple上操作不会通过整个单词匹配

仿制药的类型铸造

将整组数组拆分为最小值与最大值之和的子数组

Pandas 都是(),但有一个门槛

当独立的网络调用不应该互相阻塞时,'

在Python中动态计算范围

driver. find_element无法通过class_name找到元素'""

如何保持服务器发送的事件连接活动?

使用Python从URL下载Excel文件

合并帧,但不按合并键排序

Django admin Csrf令牌未设置

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

try 检索blob名称列表时出现错误填充错误""

使用字典或列表的值组合

语法错误:文档. evaluate:表达式不是合法表达式

每次查询的流通股数量

使用np.fft.fft2和cv2.dft重现相位谱.为什么结果并不相似呢?

极点替换值大于组内另一个极点数据帧的最大值

如何在Django模板中显示串行化器错误