before we get involved with higher level design patternslet' take deep dive into one of python' most common objectsthe string we'll see that there is lot more to the string than meets the eyeand also cover searching strings for patterns and serializing data for storage or transmission in particularwe'll visitthe complexities of stringsbytesand byte arrays the ins and outs of string formatting few ways to serialize data the mysterious regular expression strings strings are basic primitive in pythonwe've used them in nearly every example we've discussed so far all they do is represent an immutable sequence of characters howeverthough you may not have considered it before"characteris bit of an ambiguous wordcan python strings represent sequences of accented characterschinese characterswhat about greekcyrillicor farsiin python the answer is yes python strings are all represented in unicodea character definition standard that can represent virtually any character in any language on the planet (and some made-up languages and random characters as wellthis is done seamlesslyfor the most part solet' think of python strings as an immutable sequence of unicode characters so what can we do with this immutable sequencewe've touched on many of the ways strings can be manipulated in previous examplesbut let' quickly cover it all in one placea crash course in string theory