Python is famously “duck” typed,1 that is, you’re expected to write code without explicit type checks. If you write a function that implements some algorithm on numeric types, it should work equally well when presented with int, float, decimal.Decimal, fractions.Fraction, or numpy.uint64. As long as the object provides the right functions and those functions have the correct meanings, they work correctly.
2. Testing, checking, linting
Get Advanced Python Development: Using Powerful Language Features in Real-World Applications now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.