text: import pickle
  
  '''
  Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. 
  Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния
  структуры данных из битовой последовательности.
  
  Сериализация используется для передачи объектов по сети и для сохранения их в файлы. Например, нужно создать 
  распределённое приложение, разные части которого должны обмениваться данными со сложной структурой. В таком случае для 
  типов данных, которые предполагается передавать, пишется код, который осуществляет сериализацию и десериализацию. 
  Объект заполняется нужными данными, затем вызывается код сериализации, в результате получается, например, XML-документ. 
  Результат сериализации передаётся принимающей стороне по, скажем, электронной почте или HTTP. Приложение-получатель 
  создаёт объект того же типа и вызывает код десериализации, в результате получая объект с теми же данными, что были в 
  объекте приложения-отправителя. По такой схеме работает, например, сериализация объектов через SOAP в Microsoft .NET.
  '''
  # pickle - это байтовый формат. Инструмент для сериализации любых объектов
  # Сериализуем какой-нибудь объект (пусть этобудет словарь)
  
  data = {'1': (1,2,3), '2':['a','b','c'], '3': {0,1,2,0}}
  print(data)
  
  # Делаем сериализацию pickle
  
  with open('data.pickle', 'wb') as f:    # необходимо открывать на байтовую запись (wb)
      pickle.dump(data, f)
  
  # Десериализация
  
  with open ('data.pickle', 'rb') as f:   # необходимо открывать на байтовой чтение (rb)
      data_load = pickle.load(f)
  print(data_load)
  
  
  