Python Function Arguments and Parameters Notes

In Python, arguments are values passed to a function when it is called. There are different types of arguments that can be used in Python functions:

1. Positional Arguments:

  • These are the most common type of arguments in Python.
  • They are passed to a function based on their position.
  • The order of arguments matters.

2. Keyword Arguments:

  • In this type of argument, each argument is preceded by a keyword and an equals sign.
  • The order of arguments doesn’t matter.

3. Default Arguments:

  • Default arguments are those that take a default value if no value is provided.
  • They are specified in the function definition.

4. Variable-length Arguments:

  • Sometimes, you might want to pass a variable number of arguments to a function.
  • Python provides two ways to handle this: *args (non-keyword variable-length arguments) and **kwargs (keyword variable-length arguments).

 

Let’s delve deeper into each type of argument using the example of adding two numbers in Python.

1. Positional Arguments:

Positional arguments are the most common type of arguments in Python functions. They are passed to a function based on their position, meaning the order in which they are passed matters.

Example: 

def add_numbers(num1, num2):

    return num1 + num2

# Calling the function with positional arguments

result = add_numbers(5, 3)

print("Result (Positional Arguments):", result)

 

In this example:

  • num1 and num2 are positional arguments.
  • When the function add_numbers is called, the first argument 5 is assigned to num1, and the second argument 3 is assigned to num2.
  • The function then adds these two numbers and returns the result.

2. Default Arguments:

Default arguments are parameters in a function that have a default value. If a value is not provided for these parameters during the function call, they take on their default value.

Example:

def add_numbers(num1, num2=0):

    return num1 + num2

# Calling the function without specifying num2 (using default value)

result = add_numbers(5)

print("Result (Default Argument):", result)

 

In this example:

  • num2 is a default argument with a default value of 0.
  • If num2 is not provided during the function call, it automatically takes on the value of 0.
  • When the function add_numbers is called with only one argument 5, it uses the default value of 0 for num2, resulting in 5
    + 0

3. Keyword Arguments:

Keyword arguments allow you to specify arguments by their parameter names, regardless of their order. This provides clarity and flexibility in function calls.

Example:

def add_numbers(num1, num2):

    return num1 + num2

# Calling the function with keyword arguments

result = add_numbers(num1=5, num2=3)

print("Result (Keyword Arguments):", result)

 

In this example:

  • The function add_numbers is called with keyword arguments num1=5 and num2=3.
  • Order of arguments doesn’t matter, as the arguments are passed with their respective parameter names.
  • This provides clarity, especially when dealing with functions that have many arguments.

4. Variable-length Arguments:

Variable-length arguments allow a function to accept any number of arguments. In Python, you can achieve this using *args, which collects positional arguments into a tuple.

Example:

def add_numbers(*args):

    total = 0

    for num in args:

        total += num

        return total

# Calling the function with variable number of arguments

result = add_numbers(5, 3, 7, 2)

print("Result (Variable-length Arguments):", result)

 

In this example:

  • The function add_numbers accepts any number of arguments using *args.
  • It then iterates over these arguments and adds them together to get the result.
  • This allows flexibility in function calls, as you can pass any number of arguments to the function.

These different types of arguments provide flexibility and clarity in function calls, allowing you to write more versatile and expressive code in Python.

Copywrite © 2020-2024, CBSE Python,
All Rights Reserved