© Matthew Wilkes 2020
M. WilkesAdvanced Python Developmenthttps://doi.org/10.1007/978-1-4842-5793-7_2

2. Testing, checking, linting

Matthew Wilkes1 
(1)
Leeds, West Yorkshire, UK
 

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.

Python accomplishes this through the related features of late binding and dynamic dispatch. We will come back to this topic in more depth later, but suffice it to say dynamic ...

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.