Skip to content

04-19: Math Utilities Package

Python: Fundamentals

View the live site — ijk37.com

Project 19

Home  |  All Projects  |  Notes  |  Exercises  |  Quiz Hub

Builds a real Python package (mathutils/) with four sub-modules: basic, statistics, sequences, and geometry. __init__.py re-exports key functions so they're accessible directly. An interactive main.py demonstrates every function.

Topics covered: __init__.py · package imports · from package.module import fn · __version__ · __name__ == "__main__" guard · modular code organisation

Difficulty: ⭐⭐ Intermediate


Package Structure

04-19-math-utilities-package/
├── main.py
└── mathutils/
    ├── __init__.py      ← re-exports all public functions
    ├── basic.py         ← add, subtract, multiply, safe_divide, power, absolute
    ├── statistics.py    ← mean, median, mode, variance, std_dev
    ├── sequences.py     ← factorial, fibonacci, is_prime, prime_factors
    └── geometry.py      ← circle_area, rectangle_area, triangle_area, hypotenuse

How to Run

python main.py

To test a sub-module directly:

python -m mathutils.sequences

Key Concepts Practised

Concept Where used
__init__.py Makes mathutils/ a package
from mathutils import mean Direct access via __init__
from mathutils.sequences import fibonacci Sub-module import
__version__ Package metadata
if __name__ == "__main__": Each module has its own self-test