Functions with requiring Arguments as Keywords

Additionally with Python 3 it is possible to require arguments being passed as keyword arguments.

Example:

def days_and_hours_in_minutes(hours, *, days=0):
    minutes_days = days * 24 * 60
    minutes_hours = hours * 60
    minutes = minutes_days + minutes_hours
    return minutes


return_value = days_and_hours_in_minutes(32)
print("The result is", return_value, "minutes")

# this will fail
# return_value = days_and_hours_in_minutes(32, 14)

return_value = days_and_hours_in_minutes(6, days=15)
print("The result is", return_value, "minutes")

Hint

Simple rule:

  • Use standard (called positional) arguments for required arguments

  • Require keyword arguments for optional arguments with default values