How can I denote unused function arguments?

A funny way I just thought of is to delete the variable:

def f(foo, unused1, unused2, unused3):
    del unused1, unused2, unused3
    return foo

This has numerous advantages:

  • The unused variable can still be used when calling the function both as a positional argument and as a keyword argument.
  • If you start to use it later, you can’t since it’s deleted, so there is less risk of mistakes.
  • It’s standard python syntax.
  • PyCharm does the right thing! (As of 2020, PyCharm no longer does the right thing 🙁 tracking this at https://youtrack.jetbrains.com/issue/PY-39889 )
  • PyLint won’t complain and using del is the solution recommended in the PyLint manual.

Leave a Comment