Programming Essentials Python - User Defined Functions - Varying Arguments

Learn how to use varying arguments in Python functions, allowing you to pass a variable number of arguments of the same type. This article provides detailed explanations, code examples, and hands-on tasks to master this concept.

Explanation for the video:

Put a place holder for the video here with text so that I can replace as part of the automation

Key Concepts Explanation

Varying Arguments

Varying arguments in Python allow you to pass an arbitrary number of arguments of the same type to a function. The parameter accepting varying arguments should have the * symbol at the beginning, making it a tuple within the function. You can use varying arguments when the number of arguments is unknown in advance.

def get_invalid_phone_count(*phone_numbers, employee_id):
    invalid_count = 0
    for phone_number in phone_numbers:
        if len(phone_number) < 10:
            invalid_count += 1
    return employee_id, invalid_count

Using Varying Arguments

When using varying arguments, you can’t pass them by name, only by position. To pass varying arguments, use the * symbol before the actual arguments, enabling you to pass multiple arguments without explicitly stating the number.

Hands-On Tasks

Practice the following tasks to reinforce your understanding of varying arguments:

  1. Create a function that accepts varying arguments and prints out the length and types of the arguments passed.
  2. Call the function with different numbers of arguments to see how varying arguments work in action.


In this article, we explored the concept of varying arguments in Python functions. By understanding how to use varying arguments effectively, you can create more flexible and dynamic functions. Remember to practice using varying arguments in your code to become proficient in this essential Python feature.

Watch the video tutorial here