try experimenting with pickling datathen modifying the class that holds the dataand loading the pickle into the new class what workswhat doesn'tis there way to make drastic changes to classsuch as renaming an attribute or splitting it into two new attributes and still get the data out of an older pickle(hinttry placing private pickle version number on each object and update it each time you change the classyou can then put migration path in __setstate__ if you do any web development at alldo some experimenting with the json serializer personallyi prefer to serialize only standard json serializable objectsrather than writing custom encoders or object_hooksbut the desired effect really depends on the interaction between the frontend (javascripttypicallyand backend code create some new directives in the templating engine that take more than one or an arbitrary number of arguments you might need to modify the regular expression or add new ones have look at the django project' online documentationand see if there are any other template tags you' like to work with try mimicking their filter syntax instead of using the variable tag revisit this when you've studied iteration and coroutines and see if you can come up with more compact way of representing the state between related directivessuch as the loop summary we've covered string manipulationregular expressionsand object serialization in this hardcoded strings and program variables can be combined into outputtable strings using the powerful string formatting system it is important to distinguish between binary and textual data and bytes and str have specific purposes that must be understood both are immutablebut the bytearray type can be used when manipulating bytes regular expressions are complex topicbut we scratched the surface there are many ways to serialize python datapickles and json are two of the most popular in the next we'll look at design pattern that is so fundamental to python programming that it has been given special syntax supportthe iterator pattern