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 Numbers and Mathematics

Python handles numbers intuitively with no size limits on integers, full floating-point support, and a rich math module for advanced calculations.

Number Types

# Integers (no size limit!)
small = 42
big = 10 ** 100  # googol — Python handles this natively
negative = -256
binary = 0b1010    # 10
hexadecimal = 0xFF  # 255

# Floats (64-bit double precision)
pi = 3.14159
tiny = 1.5e-10     # 0.00000000015
large = 2.5e6      # 2500000.0

# Complex numbers
z = 3 + 4j
print(z.real)   # 3.0
print(z.imag)   # 4.0
print(abs(z))   # 5.0 (magnitude)

Arithmetic Operations

a, b = 17, 5

print(a + b)    # 22  addition
print(a - b)    # 12  subtraction
print(a * b)    # 85  multiplication
print(a / b)    # 3.4 true division (always float)
print(a // b)   # 3   floor division (integer result)
print(a % b)    # 2   modulus (remainder)
print(a ** b)   # 1419857  exponentiation

# divmod returns both quotient and remainder
q, r = divmod(17, 5)
print(f"17 ÷ 5 = {q} remainder {r}")  # 3 remainder 2

# Absolute value
print(abs(-42))  # 42

Built-in Math Functions

# Rounding
print(round(3.14159, 2))  # 3.14
print(round(2.5))         # 2 (banker's rounding!)
print(round(3.5))         # 4

# Min, max, sum
numbers = [5, 2, 8, 1, 9]
print(min(numbers))  # 1
print(max(numbers))  # 9
print(sum(numbers))  # 25

# Power and absolute
print(pow(2, 10))    # 1024
print(pow(2, 10, 100))  # 24 (2^10 mod 100 — efficient!)

# int() truncates toward zero
print(int(3.7))    # 3
print(int(-3.7))   # -3

The math Module

import math

# Constants
print(math.pi)    # 3.141592653589793
print(math.e)     # 2.718281828459045
print(math.inf)   # infinity
print(math.nan)   # Not a Number

# Common functions
print(math.sqrt(144))      # 12.0
print(math.pow(2, 10))     # 1024.0
print(math.log(100, 10))   # 2.0 (log base 10)
print(math.log2(1024))     # 10.0
print(math.ceil(3.2))      # 4 (round up)
print(math.floor(3.8))     # 3 (round down)
print(math.factorial(5))   # 120

# Trigonometry (in radians)
print(math.sin(math.pi / 2))   # 1.0
print(math.cos(0))             # 1.0
print(math.degrees(math.pi))   # 180.0
print(math.radians(90))        # 1.5707...

# Greatest common divisor and least common multiple
print(math.gcd(12, 8))    # 4
print(math.lcm(4, 6))     # 12 (Python 3.9+)

Random Numbers

import random

# Random float between 0 and 1
print(random.random())        # e.g., 0.7234...

# Random integer in range [a, b] inclusive
print(random.randint(1, 100))  # e.g., 42

# Random choice from a sequence
colors = ["red", "green", "blue"]
print(random.choice(colors))   # e.g., "green"

# Shuffle a list in place
deck = list(range(1, 53))
random.shuffle(deck)

# Sample without replacement
lottery = random.sample(range(1, 50), 6)
print(sorted(lottery))  # e.g., [3, 12, 24, 31, 39, 45]

Floating Point Precision

# Floating point is NOT exact
print(0.1 + 0.2)         # 0.30000000000000004
print(0.1 + 0.2 == 0.3)  # False!

# Solution 1: round for display
print(round(0.1 + 0.2, 1) == 0.3)  # True

# Solution 2: math.isclose for comparison
print(math.isclose(0.1 + 0.2, 0.3))  # True

# Solution 3: Decimal for financial calculations
from decimal import Decimal
price = Decimal("19.99")
tax = Decimal("0.08")
total = price * (1 + tax)
print(total)  # 21.5892 (exact)
  • Python integers have no size limit — they grow as large as memory allows.
  • Use // for integer division and / for true (float) division.
  • Use Decimal for money/financial calculations to avoid float precision errors.
  • Use math.isclose() instead of == when comparing float results.
  • The random module is for general use; for security use secrets module.

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.