~2 min read • Updated Jul 30, 2025
1. Defining a Function
Functions are defined using the def keyword:
def greet(name):
print("Hello", name)
2. Calling a Function
greet("Jina")
# Output: Hello Jina
3. Return Values
def add(a, b):
return a + b
result = add(5, 3)
# Output: 8
4. Types of Arguments
- Positional arguments: Based on order
- Keyword arguments: Specified by name
- Default values:
def show(name="guest") - *args and **kwargs: Handle variable-length arguments
5. Built-in Functions
Python provides functions like len(), type(), and print() out of the box.
6. Recursive Functions
A function calling itself:
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
7. Lambda Functions
Anonymous functions for quick computations:
square = lambda x: x ** 2
print(square(4)) # Output: 16
8. Variable Scope
- Global: Accessible throughout the program
- Local: Confined to the function in which it’s defined
9. Function Documentation (Docstring)
def greet(name):
"""Displays a welcome message"""
print("Hello", name)
10. Conclusion
Functions are central to writing clean and scalable Python code. Learning to define them, manage arguments, and apply advanced concepts like recursion or lambda expressions is key to mastering the language.
Written & researched by Dr. Shahin Siami