Define pickling in Python. Explain serialization and deserialization of Python object.
Pickling is the process by which a Python object is converted to a byte stream. It is also known as serialization.
Serialization is the process of transforming data or an object in memory (RAM) to a stream of bytes called byte streams. These byte streams can then be stored in a disk, in a database, or sent through a network. The dump() method is used to write (pickle) objects into a binary file opened in binary write mode (wb).
Deserialization or unpickling is the inverse of pickling process where a byte stream is converted back to a Python object. The load() method is used to read (unpickle) data from a binary file opened in binary read mode (rb).
Explanation
The textbook defines pickling as the conversion of Python objects to byte streams, which is synonymous with serialization. Serialization transforms in-memory objects into byte streams for storage or transmission. Deserialization (unpickling) reverses this process, converting byte streams back to Python objects. The pickle module provides dump() for pickling/serialization and load() for unpickling/deserialization.