Modules for data structures and algorithms
In addition to the built-in types, there are several Python modules that we can use to extend these built-in types and functions. In many cases, these Python modules may offer efficiency and programming advantages that allow us to simplify our code.
So far, we have looked at the built-in datatypes of strings, lists, sets, and dictionaries as well as the decimal and fractions modules. They are often described by the term abstract data types (ADTs). ADTs can be considered as mathematical specifications for the set of operations that can be performed on data. They are defined by their behavior rather than their implementation. In addition to the ADTs that we have looked at, there are several Python libraries that provide extensions to the built-in datatypes. These will be discussed in the following section.