← Back to Blog
TutorialJanuary 20, 20248 min read
Python Functions: A Complete Guide from Basics to Advanced
Master Python functions with our comprehensive guide covering definitions, arguments, returns, lambda, decorators, and best practices.
On this page
What is a Function?
A function is a reusable block of code that performs a specific task. Functions help you:
- Write DRY (Don't Repeat Yourself) code
- Organize complex logic
- Make code maintainable
- Enable code reuse
Defining Functions
def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) # Hello, Alice!Function Arguments
Positional Arguments
def add(a, b):
return a + bDefault Arguments
def power(base, exp=2):
return base ** exp
print(power(5)) # 25 (uses default exp=2)
print(power(2, 10)) # 1024Keyword Arguments
def describe(name, age, city="Unknown"):
return f"{name}, {age}, from {city}"
print(describe(age=30, name="Bob"))Variable Arguments (*args, **kwargs)
def report(*args, **kwargs):
print("Positional:", args)
print("Keyword:", kwargs)Return Values
Functions can return single or multiple values:
def get_coordinates():
return 10, 20 # Returns tuple
x, y = get_coordinates()Lambda Functions
Anonymous functions for simple operations:
square = lambda x: x * x
print(square(5)) # 25
nums = [1, 2, 3, 4]
squared = list(map(lambda n: n ** 2, nums))Best Practices
- Use clear names:
calculate_totalnotcalc - Single responsibility: Function does one thing
- Document with docstrings: Explain what it does
- Keep functions small: Under 20 lines ideally
- Use type hints: Help others understand types
def add(a: int, b: int) -> int:
"""Add two numbers and return the result."""
return a + bBy PythonExecutor Team