Function Parameters

  • This lesson explains how to pass data into functions using parameters and arguments.

  • What are Function Parameters?

    Function parameters allow us to pass data into a function so the same function can work with different values.

    👉 Parameters make functions flexible and reusable.

    Types of Function Arguments in Python

    Python supports four main types of function arguments:

    1. Positional arguments

    2. Keyword arguments

    3. Default parameters

    4. Arbitrary arguments

      • *args

      • **kwargs

    1.Positional Arguments

    Positional arguments are arguments passed to a function in the same order as parameters are defined.

    👉 The position matters.

    🔹 Syntax

    def function_name(param1, param2):

        # function body


    function_name(value1, value2)

Using Positional Arguments

This function receives two numbers and prints their sum. Values are passed based on position.

def add(a, b):
    print("Sum:", a + b)

add(10, 5)
  • 2.Keyword Arguments

    Keyword arguments are passed using parameter names, so order does not matter.

    👉 Improves readability and clarity.

    Syntax

    function_name(param=value)

Using Keyword Arguments

This program passes arguments using parameter names.

def student(name, age):
    print("Name:", name)
    print("Age:", age)

student(age=22, name="Ravi")
  • When to Use Keyword Arguments?

    • When many parameters exist

    • To avoid confusion

    • For better readability

    3.Default Parameters

    Default parameters are parameters that have a default value.

    👉 If no argument is passed, the default value is used.

    Syntax

    def function_name(param=value):

Using Default Parameters

This function uses a default country value if not provided.

def user(name, country="India"):
    print("Name:", name)
    print("Country:", country)
user("Anita")

Overriding Default Parameter

This example overrides the default parameter value.

def user(name, country="India"):
    print("Name:", name)
    print("Country:", country)

user("Anita", "USA")
  • Rules for Default Parameters

    •  Default parameters must come after non-default parameters

    • Can be overridden during function call

    4. Arbitrary Arguments

    Sometimes we don’t know how many arguments will be passed.
    Python provides arbitrary arguments.

    *args (Non-Keyword Arbitrary Arguments)

    What is *args?

    *args allows a function to accept multiple positional arguments.

    👉 Arguments are stored as a tuple.

    Syntax

    def function_name(*args):

*Using args in Function

This function accepts multiple numbers and prints them.

def numbers(*args):
    print(args)
numbers(1, 2, 3, 4)

*Processing args Values

This program calculates the sum of all numbers passed.

def total(*args):
    sum = 0
    for num in args:
        sum += num
    print("Total:", sum)

total(10, 20, 30)
  • **kwargs (Keyword Arbitrary Arguments)

    What is **kwargs?

    **kwargs allows a function to accept multiple keyword arguments.

    👉 Arguments are stored as a dictionary.

    Syntax

    def function_name(**kwargs):

**Using kwargs in Function

This function receives multiple key-value pairs and prints them.

def student_info(**kwargs):
    print(kwargs)

student_info(name="Radha", age=21, course="Python")

**Accessing kwargs Values

This program loops through keyword arguments.

def employee(**details):
    for key, value in details.items():
        print(key, ":", value)

employee(name="Amit", role="Developer", salary=50000)
  • *args vs **kwargs

    Feature

    *args

    **kwargs

    Type

    Tuple

    Dictionary

    Arguments

    Positional

    Keyword

    Symbol

    *

    **


    Order of Parameters

    def function(normal, default, *args, **kwargs):

    ✔ Normal parameters
    ✔ Default parameters
    *args
    **kwargs