Python provides standard numerical built-ins (abs(), round(), min(), max(), pow(), divmod()) as well as the math standard library module for trigonometric, logarithmic, and floating-point operations.
flowchart LR
A["Built-in Functions (abs, round, min, max, pow)"] --> B["Python Math Ecosystem"]
C["math Module (sqrt, log, sin, cos, ceil, floor)"] --> B
D["decimal / fractions (Exact Precision)"] --> B
abs(x): Returns the absolute magnitude of a number or complex vector.round(number, ndigits): Rounds to nearest even number (Banker's Rounding).divmod(x, y): Returns a tuple (x // y, x % y).pow(base, exp, mod): Efficient modular exponentiation.import math
from typing import Tuple
def calculate_geodesic_distance(x1: float, y1: float, x2: float, y2: float) -> float:
"""Calculate Euclidean distance between two 2D points."""
return math.hypot(x2 - x1, y2 - y1)
def math_demo() -> None:
# Rounding behavior (Banker's Rounding: rounds to even)
print(f"round(2.5) = {round(2.5)}") # 2
print(f"round(3.5) = {round(3.5)}") # 4
# Trigonometry & Constants
angle_rad = math.radians(45.0)
print(f"sin(45 deg): {math.sin(angle_rad):.4f}")
print(f"Pi: {math.pi}, E: {math.e}")
# Floating point precision safe equality check
a = 0.1 + 0.2
b = 0.3
print(f"Direct float equality (a == b): {a == b}")
print(f"Safe math.isclose(a, b): {math.isclose(a, b)}")
if __name__ == "__main__":
math_demo()
print("Distance (0,0) to (3,4):", calculate_geodesic_distance(0, 0, 3, 4))
round() rounds half-way cases to the nearest even integer (e.g. round(2.5) == 2).math.isclose() for Floats: Never compare floats with ==.math.hypot(): math.hypot(dx, dy) is faster and avoids intermediate overflow/underflow compared to math.sqrt(dx**2 + dy**2).Write a function calculate_circle_area(radius: float) -> float using math.pi that raises ValueError if radius < 0.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With