В памяти компьютера данные хранятся в массивах, списках, хэш-таблицах, … И других структурах данных, оптимизированных для того, чтобы CPU мог эффективно обращаться к ним и манипулировать ими. Но если требуется записать данные в файлы или передать их по сети, то нужно представить их в виде последовательности байтов. Преобразование из первого представления данных во второе называется сериализацией, обратное -- десериализацией. Во многих языках программирования есть встроенные инструменты для сериализации. Например, в Java есть java.io.Serializeable, в Ruby — Marshal, а в Python есть pickle. Смотрите, как просто этим инструментом сериализовать почти любой питонский объект: import pickle original = [1, 2, 3] with open('myfile.pickle', 'wb') as outfile: pickle.dump(original, outfile) with open('myfile.pickle', 'rb') as infile: identical = pickle.load(infile) print(original == identical) # True Вся прелесть здесь в том, что можно в пару строк сохранить объект как он есть, без