Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

unnecessary_lambda.py 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # pylint: disable=undefined-variable
  2. """test suspicious lambda expressions
  3. """
  4. __revision__ = ''
  5. # Some simple examples of the most commonly encountered forms.
  6. # +1: [unnecessary-lambda]
  7. _ = lambda: list() # replaceable with "list"
  8. # +1: [unnecessary-lambda]
  9. _ = lambda x: hash(x) # replaceable with "hash"
  10. # +1: [unnecessary-lambda]
  11. _ = lambda x, y: min(x, y) # replaceable with "min"
  12. # A function that can take any arguments given to it.
  13. _ANYARGS = lambda *args, **kwargs: 'completely arbitrary return value'
  14. # Some more complex forms of unnecessary lambda expressions.
  15. # +1: [unnecessary-lambda]
  16. _ = lambda *args: _ANYARGS(*args)
  17. # +1: [unnecessary-lambda]
  18. _ = lambda **kwargs: _ANYARGS(**kwargs)
  19. # +1: [unnecessary-lambda]
  20. _ = lambda *args, **kwargs: _ANYARGS(*args, **kwargs)
  21. # +1: [unnecessary-lambda]
  22. _ = lambda x, y, z, *args, **kwargs: _ANYARGS(x, y, z, *args, **kwargs)
  23. # Lambdas that are *not* unnecessary and should *not* trigger warnings.
  24. _ = lambda x: x
  25. _ = lambda x: x()
  26. _ = lambda x=4: hash(x)
  27. _ = lambda x, y: list(range(y, x))
  28. _ = lambda x: list(range(5, x))
  29. _ = lambda x, y: list(range(x, 5))
  30. _ = lambda x, y, z: x.y(z)
  31. _ = lambda: 5
  32. _ = lambda **kwargs: _ANYARGS()
  33. _ = lambda **kwargs: _ANYARGS(**dict([('three', 3)]))
  34. _ = lambda **kwargs: _ANYARGS(**{'three': 3})
  35. _ = lambda dict_arg, **kwargs: _ANYARGS(kwargs, **dict_arg)
  36. _ = lambda *args: _ANYARGS()
  37. _ = lambda *args: _ANYARGS(*list([3, 4]))
  38. _ = lambda *args: _ANYARGS(*[3, 4])
  39. _ = lambda list_arg, *args: _ANYARGS(args, *list_arg)
  40. _ = lambda: _ANYARGS(*[3])
  41. _ = lambda: _ANYARGS(**{'three': 3})
  42. _ = lambda: _ANYARGS(*[3], **{'three': 3})
  43. _ = lambda: _ANYARGS(func=42)
  44. # Don't warn about this.
  45. _ = lambda: code().analysis()