Python Functions Deep Dive

What Are Functions?

Functions are reusable blocks of code. Instead of repeating logic everywhere, you wrap it inside a function and call it whenever you need it.

Basic Function Syntax

def greet():
    print("Hello!")
      
Call it:
greet()
      

Functions With Parameters

def greet(name):
    print("Hello, " + name)

greet("Kaloyan")
      

Return Values

def add(a, b):
    return a + b

result = add(5, 3)
print(result)
      

Default Parameters

def welcome(name="guest"):
    print("Welcome, " + name)

welcome()
welcome("Kaloyan")
      

Keyword Arguments

def profile(name, age):
    print(name, age)

profile(age=12, name="Kaloyan")
      

Multiple Return Values

def calc(a, b):
    return a + b, a * b

sum_val, mul_val = calc(3, 4)
      

Variable Number of Arguments (*args)

def total(*nums):
    print(sum(nums))

total(1, 2, 3, 4)
      

Keyword Arguments Dictionary (**kwargs)

def show_info(**data):
    print(data)

show_info(name="Kaloyan", age=12)
      

Lambda (Anonymous) Functions

square = lambda x: x * x
print(square(5))
      

Functions Inside Functions

def outer():
    def inner():
        print("Inner!")
    inner()
      

Functions as Parameters

def apply(func, value):
    return func(value)

print(apply(lambda x: x + 10, 5))
      

What's Next?

Next, you’ll learn about Python modules and packages — how to organize code into reusable files and build larger applications.