Before we get involved with higher level design patterns, let's take a deep dive into one of Python's most common objects: the string. We'll see that there is a lot more to the string than meets the eye, and also cover searching strings for patterns and serializing data for storage or transmission.
In particular, we'll visit:
The complexities of strings, bytes, and byte arrays
The ins and outs of string formatting
A few ways to serialize data
The mysterious regular expression