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 Dictionary
A dictionary stores data as key-value pairs. Keys must be unique and immutable. Dictionaries are fast for lookups, insertions, and deletions.
Creating Dictionaries
# Curly brace syntax
user = {"name": "Alice", "age": 25, "city": "NYC"}
# dict() constructor
config = dict(host="localhost", port=8080, debug=True)
# From list of tuples
pairs = dict([("a", 1), ("b", 2), ("c", 3)])
# Dict comprehension
squares = {x: x**2 for x in range(6)}
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# Empty dictionary
empty = {}
also_empty = dict()Accessing and Modifying
user = {"name": "Alice", "age": 25}
# Access values
print(user["name"]) # "Alice" (KeyError if missing)
print(user.get("age")) # 25
print(user.get("email", "N/A")) # "N/A" (default if missing)
# Add / update
user["email"] = "alice@mail.com" # add new key
user["age"] = 26 # update existing
user.update({"city": "NYC", "age": 27}) # update multiple
# Remove
del user["email"] # delete key (KeyError if missing)
age = user.pop("age") # remove and return value
last = user.popitem() # remove last inserted pair
user.clear() # remove allIterating Dictionaries
scores = {"Alice": 95, "Bob": 87, "Charlie": 92}
# Keys (default iteration)
for name in scores:
print(name)
# Values
for score in scores.values():
print(score)
# Key-value pairs
for name, score in scores.items():
print(f"{name}: {score}")
# Check existence
print("Alice" in scores) # True (checks keys)
print(95 in scores.values()) # True (checks values)Useful Patterns
# Counting occurrences
text = "hello world"
freq = {}
for char in text:
freq[char] = freq.get(char, 0) + 1
# {"h": 1, "e": 1, "l": 3, "o": 2, ...}
# Grouping items
from collections import defaultdict
students = [("Math", "Alice"), ("Science", "Bob"), ("Math", "Charlie")]
groups = defaultdict(list)
for subject, name in students:
groups[subject].append(name)
# {"Math": ["Alice", "Charlie"], "Science": ["Bob"]}
# Merge dictionaries (Python 3.9+)
defaults = {"color": "blue", "size": "medium"}
custom = {"color": "red", "weight": "heavy"}
merged = defaults | custom
# {"color": "red", "size": "medium", "weight": "heavy"}- Use
.get(key, default)to avoid KeyError on missing keys. - Dictionary keys must be hashable (strings, numbers, tuples — not lists).
- Dictionaries preserve insertion order since Python 3.7.
- Use
defaultdictfrom collections for grouping and counting patterns. - The
|merge operator (Python 3.9+) creates a new merged dict.
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.