Unused parameters are misleading. Whatever the value passed to such parameters is, the behavior will be the same.
def do_something(a, b): # "b" is unused return compute(a)
def do_something(a): return compute(a)
Overriding methods are ignored.
class C(B):
def do_something(self, a, b): # no issue reported on b
return self.compute(a)
}
Throwaway variables _.
def do_something(a, _): # no issue reported on _ return compute(a)