我该如何处理这个 PEP8 警告?

How can I handle this PEP8 warning?

我有这样的两行代码:

if validated_data.get('is_shipped') == False:  # 管理员取消了发货,则把物流信息删掉
    validated_data.update(logistics_company=None, logistics_tracking_no=None)

我正在使用 Pycharm 并且 PEP8 检查已开启。所以 validated_data.get('is_shipped') == False 下面有一个下划线,它显示我 Expression can be simplified. Replace boolean expression with ``not validated_data.get('is_shipped')`` 。但是,事实是,当 is_shipped 被显式传递为 False 时,我只想 运行 在 if 语句中编码,而不是当 is_shippedNone。那么,我该如何处理这个 PEP8 检查警告呢?

这里的x == False相当于not x,不知道为什么要只用x == False,PEP8建议:

if not validated_data.get('is_shipped'):  # 管理员取消了发货,则把物流信息删掉
    validated_data.update(logistics_company=None, logistics_tracking_no=None)

您找到了问题的解决方案:使用显式 is 运算符:

if validated_data.get('is_shipped') is False:

这使您的条件成为一个明确的标识,而不是“真实的”布尔值评估。