0

我不想禁用整个项目的规则,而是针对已知场景。喜欢:

class A:
   def __init__(self, creator: Callback[[],B])

大多数时候我使用

x = A(lamda: Bx())
y = A(lamda: By())

但它总是触发unnecessary-lambda,但我无法删除这个 lambda。由于这种情况经常发生,我只想在这种情况下禁用该规则..

就像是:

disable=unnecessary-lambda when-class=A

或者作为注释...

# pylint: disable=unnecessary-lambda propagate=True
class A:
    def __init__(self, creator: Callback[[],B])

有某种方法可以做到这一点?

PS:情况是这样的:

class Bx(B):
    factory = A(lambda: Bx())
4

1 回答 1

1

就目前而言,lambda 在代码中确实是不必要的。您可以使用x = A(Bx)而不是x = A(lambda: Bx()). 这将摆脱警告。

如果这不能解决您的问题,我会推荐您参考https://pylint.pycqa.org/en/latest/user_guide/message-control.html,它提供了在给定范围内禁用 pylint 警告的各种方法.

于 2022-03-05T13:46:26.900 回答