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.
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: 9Parameters 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 2Docstrings 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
defto define functions; they execute only when called. - Functions without
returnimplicitly returnNone. - 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
| Feature | Python | Java | JavaScript | C++ |
|---|---|---|---|---|
| Syntax | Very clean, readable | Verbose | Moderate | Complex |
| Typing | Dynamic, strong | Static, strong | Dynamic, weak | Static, strong |
| Best For | AI/ML, Data, Web | Enterprise, Android | Web Frontend/Backend | Systems, Games |
| Learning Time | 2–4 weeks basics | 4–6 weeks basics | 3–4 weeks basics | 8–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.