Trival – Passing list or dictionary as argument in Python

So you got a cool API with lots of magic? Then suddenly you wanted something like dynamically passing parameters when needed. A common pattern wherein you call an arbitrary method with arbitrary arguments. I know this is trival but if you come from another language, you probably don’t know about this.


For example you have a function API below:

def is_email(value, message=None)

You normally call the function like below:

is_email(some_email, error_messages)

Unpacking arguments

You can pass a list as argument but unpack it *args to become arguments like below:

args = ['', 'Please enter a valid email address']

You can do the same for keyword arguments by using **args notation.

args = {'email': '', 'message': 'Please enter a valid email address'}


Unpacking arguments is useful when dealing with dynamic method calls. I’ll provide examples on my next post about validations.

Source: Python documentation.

Leave a reply

Your email address will not be published. Required fields are marked *