How to skip providing default arguments in a Python method

There are two ways to do it. The first, most straightforward, is to pass a named argument:

boto.emr.step.StreamingStep(name='a name', mapper='mapper name', combiner='combiner name')

(Note, because name and mapper were in order, specifying the argument name wasn't required)


Additionally, you can pass a dictionary with ** argument unpacking:

kwargs = {'name': 'a name', 'mapper': 'mapper name', 'combiner': 'combiner name'}
boto.emr.step.StreamingStep(**kwargs)

Just pass the arguments you want by keyword: boto.emr.step.StreamingStep(name='a name', mapper='a mapper', combiner='a combiner')


  1. Do not use positional arguments,instead use keyword arguments.

  2. If it is mandatory to use positional arguments,use *args list, populate it with default values using a loop or something ,and set last argument, then pass it to the method.

Tags:

Python