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 Modules
A module is a Python file containing functions, classes, and variables that you can import and reuse. Modules help organize code into logical, maintainable units.
Importing Modules
# Import entire module
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
# Import specific items
from math import sqrt, pi
print(sqrt(25)) # 5.0
print(pi) # 3.141592653589793
# Import with alias
import datetime as dt
now = dt.datetime.now()
print(now.strftime("%Y-%m-%d"))
# Import everything (avoid in large projects)
from math import *
print(ceil(3.2)) # 4Creating Your Own Module
# File: myutils.py
"""Utility functions for data processing."""
def clean_text(text):
"""Remove extra whitespace and lowercase."""
return " ".join(text.split()).lower()
def is_valid_email(email):
"""Basic email validation."""
return "@" in email and "." in email.split("@")[1]
PI = 3.14159
VERSION = "1.0.0"
# File: main.py
import myutils
print(myutils.clean_text(" Hello World ")) # "hello world"
print(myutils.is_valid_email("user@example.com")) # True
print(myutils.VERSION) # "1.0.0"
# Or import specific items
from myutils import clean_text, is_valid_email
print(clean_text(" Messy Text ")) # "messy text"Common Standard Library Modules
# os — operating system interface
import os
print(os.getcwd()) # current working directory
print(os.listdir(".")) # list files in directory
os.makedirs("new_dir", exist_ok=True)
# sys — system-specific parameters
import sys
print(sys.version) # Python version
print(sys.platform) # "linux", "win32", "darwin"
# json — JSON encoding/decoding
import json
data = {"name": "Alice", "age": 30}
json_str = json.dumps(data, indent=2)
parsed = json.loads(json_str)
# datetime — date and time
from datetime import datetime, timedelta
now = datetime.now()
tomorrow = now + timedelta(days=1)
print(tomorrow.strftime("%B %d, %Y"))
# random — random number generation
import random
print(random.randint(1, 100))
print(random.choice(["apple", "banana", "cherry"]))
# pathlib — modern file path handling (Python 3.4+)
from pathlib import Path
home = Path.home()
config = home / ".config" / "myapp" / "settings.json"
print(config.exists())Module Search Path and dir()
import sys
# Python looks for modules in these directories (in order):
# 1. Current directory
# 2. PYTHONPATH environment variable directories
# 3. Standard library directories
# 4. Site-packages (third-party packages)
print(sys.path)
# List all names in a module
import math
print(dir(math)) # ["acos", "acosh", "asin", ..., "tau", "trunc"]
# Get help on a module or function
help(math.gcd) # shows docstring and usageConditional Imports and Lazy Loading
# Try importing with fallback
try:
import ujson as json # faster JSON library
except ImportError:
import json # fall back to standard library
# Import only when needed (lazy loading)
def process_csv(filename):
import csv # imported only when function is called
with open(filename) as f:
return list(csv.DictReader(f))
# Check if module is available
import importlib
spec = importlib.util.find_spec("numpy")
if spec is not None:
import numpy as np
print("NumPy available")
else:
print("NumPy not installed")- Use
import modulefor clarity; usefrom module import namefor convenience. - Avoid
from module import *in production code — it pollutes the namespace. - Any
.pyfile is a module — organize related code into separate files. - Use
dir(module)to explore what a module provides. - The standard library includes 200+ modules — check docs before installing third-party packages.
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.