Learn Python Programming
Start with getting started, installation, and core basics. Clear explanations and practical examples to help you learn faster.
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)) # 4
Creating 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 usage
Conditional 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.
Frequently Asked Questions
Answers to common Python getting-started questions
Python Programming Tutorial — Learn Python from Scratch
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. You can try every example in our free Python Compiler without installing anything.
Each topic builds on the previous one, starting from installation and Hello World through advanced concepts like decorators, generators, and file I/O. Whether you are a complete beginner or refreshing specific skills, every page gives you immediately usable code.
What This Tutorial Covers
- Getting Started: Install Python, run online, Hello World
- Basics: Variables, data types, type conversion, input/output
- Operators: Arithmetic, comparison, logical, assignment
- Control Flow: if/elif/else, for loops, while, break/continue
- Data Structures: Lists, tuples, sets, dictionaries
- Strings: Methods, slicing, formatting, f-strings
- Functions: Parameters, return values, *args, **kwargs, scope
- OOP: Classes, objects, inheritance, polymorphism
- File I/O: Reading, writing, CSV, JSON handling
- Exceptions: try/except, custom exceptions, raise
- Advanced: List comprehensions, lambda, generators, decorators
- Modules: import, pip, packages, __name__ == "__main__"
Why Learn Python in 2026?
- #1 most popular language: Ranked first on TIOBE, Stack Overflow, and GitHub for multiple years running.
- AI and Data Science: The primary language for machine learning (TensorFlow, PyTorch, scikit-learn), data analysis (Pandas, NumPy), and AI development.
- Web development: Django and Flask power backends at companies like Instagram, Spotify, and Pinterest.
- Automation: Automate files, emails, web scraping, reports, and system administration tasks in minutes.
- Beginner-friendly: Clean syntax with enforced indentation makes code readable from day one — no curly braces or semicolons.
- Massive job market: Python developers are in high demand across tech, finance, healthcare, and research.
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 |
| Speed | Slower (interpreted) | Fast (JIT) | Fast (V8 JIT) | Fastest (native) |
| Best For | AI/ML, data, automation | 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 |
How to Get Started
- Run Python online: Use our free Python Compiler — no installation needed.
- Install locally: Download Python 3 from
python.org(Windows/Mac) or useapt install python3(Linux). - Verify: Run
python3 --versionin your terminal to confirm installation. - Choose an editor: VS Code with Python extension (free), PyCharm Community (free), or Jupyter Notebook for data science.
- Follow this tutorial in order: Start from Introduction and work through each topic sequentially.
Frequently Asked Questions
No. Python is designed to be beginner-friendly. This tutorial starts from absolute zero and builds up gradually.
Python 3.10+ is recommended. Python 2 reached end-of-life in 2020. All examples in this tutorial use Python 3 syntax.
Basics (syntax, loops, functions) take 2–4 weeks. Intermediate (OOP, file I/O, modules) adds 3–4 weeks. Specialisation (Django, data science, ML) takes another 2–3 months.
Yes, completely free. No account, no sign-up. All topics and examples available without restriction.
Who Is This For?
Complete beginners choosing their first programming language. Students in CS courses needing a Python reference. Data analysts transitioning from Excel to Python (Pandas). Self-taught developers adding Python to their skill set. Professionals automating repetitive tasks. Anyone preparing for Python coding interviews.