Free Interactive Python Course

Python Tutorial — Learn Python Step by Step

Key takeaway: Master Python programming from scratch — variables, loops, functions, OOP, file handling, and libraries — with clear human-readable explanations and runnable code examples.

50+ Structured Lessons
Runnable Code Examples
100% Free No Registration
Updated October 2026

Python Functions

A function is a reusable block of code that performs a specific task. Functions help organize code, reduce repetition, and make programs easier to read and maintain.

Defining and Calling Functions

# Basic function definition
def greet(name):
    """Return a greeting message."""
    return f"Hello, {name}!"

# Calling the function
message = greet("Alice")
print(message)  # Hello, Alice!

# Function with no return (returns None implicitly)
def print_separator():
    print("-" * 40)

print_separator()

# Function with multiple return values (tuple)
def min_max(numbers):
    return min(numbers), max(numbers)

low, high = min_max([3, 1, 7, 2, 9])
print(f"Min: {low}, Max: {high}")  # Min: 1, Max: 9

Parameters and Return Values

# Default parameter values
def power(base, exponent=2):
    return base ** exponent

print(power(5))      # 25 (uses default exponent=2)
print(power(2, 10))  # 1024

# Returning different types based on logic
def divide(a, b):
    if b == 0:
        return None  # indicate failure
    return a / b

result = divide(10, 3)
if result is not None:
    print(f"Result: {result:.2f}")  # Result: 3.33

# Multiple returns with early exit
def find_first_negative(numbers):
    for i, n in enumerate(numbers):
        if n < 0:
            return i, n
    return -1, None  # not found

index, value = find_first_negative([5, 3, -2, 8])
print(f"Found {value} at index {index}")  # Found -2 at index 2

Docstrings and Type Hints

# Type hints (Python 3.5+) improve readability and IDE support
def calculate_bmi(weight_kg: float, height_m: float) -> float:
    """Calculate Body Mass Index.

    Args:
        weight_kg: Weight in kilograms.
        height_m: Height in meters.

    Returns:
        BMI value as a float.
    """
    return weight_kg / (height_m ** 2)

bmi = calculate_bmi(70, 1.75)
print(f"BMI: {bmi:.1f}")  # BMI: 22.9

# Access docstring
print(calculate_bmi.__doc__)

Functions as First-Class Objects

# Functions can be assigned to variables
say_hi = greet
print(say_hi("Bob"))  # Hello, Bob!

# Functions can be passed as arguments
def apply_twice(func, value):
    return func(func(value))

def add_ten(x):
    return x + 10

print(apply_twice(add_ten, 5))  # 25 (5+10=15, 15+10=25)

# Functions can be returned from other functions
def multiplier(factor):
    def multiply(x):
        return x * factor
    return multiply

double = multiplier(2)
triple = multiplier(3)
print(double(5))  # 10
print(triple(5))  # 15
  • Use def to define functions; they execute only when called.
  • Functions without return implicitly return None.
  • Use docstrings (triple quotes) to document what a function does.
  • Type hints are optional but improve code clarity and enable IDE autocomplete.
  • Python functions are first-class objects — store, pass, and return them freely.

Python Programming Tutorial — Learn Python in a practical, step-by-step way. According to the official Python documentation, Python emphasizes code readability and simplicity, making it ideal for beginners.

Related tools: Python Online Compiler | Python Examples | JavaScript Tutorial | Java Tutorial

Python Career & Learning Guide

Python is the world's most popular programming language for beginners, data science, AI/ML, web development, and automation. This tutorial teaches Python step-by-step with clear explanations and runnable code examples in our free Python Compiler.

Why Learn Python in 2026?

  • #1 Most Popular Language: Ranked first on TIOBE, Stack Overflow, and GitHub.
  • AI and Data Science: The primary language for machine learning (TensorFlow, PyTorch, scikit-learn) and data analysis (Pandas, NumPy).
  • Web Development: Django and Flask power scalable backends at companies like Instagram and Spotify.
  • Automation & Scripting: Automate files, emails, web scraping, and data processing in minutes.

Python vs Other Languages

FeaturePythonJavaJavaScriptC++
SyntaxVery clean, readableVerboseModerateComplex
TypingDynamic, strongStatic, strongDynamic, weakStatic, strong
Best ForAI/ML, Data, WebEnterprise, AndroidWeb Frontend/BackendSystems, Games
Learning Time2–4 weeks basics4–6 weeks basics3–4 weeks basics8–12 weeks basics

Frequently Asked Questions

Do I need prior programming experience to learn Python?

No! Python is specifically designed to be beginner-friendly. This tutorial starts from zero and builds up gradually.

Which Python version should I use?

Python 3.10+ is recommended. All examples in this tutorial use Python 3 syntax.

Is this Python tutorial completely free?

Yes, 100% free with no registration or sign-up required. Access all lessons and code examples anytime.