#
5. Data Types

The modules described in this chapter provide a variety of specialized data types such as dates and times, fixed-type arrays, heap queues, synchronized queues, and sets.

The following modules are documented in this chapter:

`datetime` |  | Basic date and time types.
`calendar` |  | Functions for working with calendars, including some emulation of the Unix cal program.
`collections` |  | High-performance datatypes
`heapq` |  | Heap queue algorithm (a.k.a. priority queue).
`bisect` |  | Array bisection algorithms for binary searching.
`array` |  | Efficient arrays of uniformly typed numeric values.
`sets` |  | Implementation of sets of unique elements.
`sched` |  | General purpose event scheduler.
`mutex` |  | Lock and queue for mutual exclusion.
`Queue` |  | A synchronized queue class.
`weakref` |  | Support for weak references and weak dictionaries.
`UserDict` |  | Class wrapper for dictionary objects.
`UserList` |  | Class wrapper for list objects.
`UserString` |  | Class wrapper for string objects.
`types` |  | Names for built-in types.
`new` |  | Interface to the creation of runtime implementation objects.
`copy` |  | Shallow and deep copy operations.
`pprint` |  | Data pretty printer.
`repr` |  | Alternate `repr()` implementation with size limits.