pickling VS serialize

About_work·2024년 2월 5일
0

python 기초

목록 보기
30/65
  • 피클링(Pickling)과 직렬화(Serialization)는 데이터를 저장하거나 전송하기 위해 데이터 구조나 객체를 바이트 스트림으로 변환하는 과정
  • 이 두 용어는 서로 밀접한 관계가 있으며, 때로는 상호 교환적으로 사용될 수 있지만, 각각의 용어가 가리키는 범위와 사용되는 컨텍스트는 약간 다릅니다.
  • 피클링은 serialization의 부분집합!!
  • 피클링은 파이썬 특유의 메커니즘!

직렬화(Serialization)

  • 직렬화데이터 구조나 객체 상태를 저장 가능한 형식(바이트 스트림)으로 변환하는 과정
    • 복잡한 데이터 구조나 객체를 연속적인 데이터로 변환하는 과정
  • 생성된 바이트 스트림은 파일에 저장하거나 네트워크를 통해 다른 시스템으로 전송
  • 직렬화된 데이터는 나중에 역직렬화(Deserialization) 과정을 통해 원래의 객체나 데이터 구조로 복원
  • XML, JSON, 바이너리 형식 등 다양한 데이터 형식을 사용할 수 있습니다.

피클링(Pickling)

  • 피클링은 파이썬의 객체 직렬화 과정을 특별히 지칭하는 용어입니다. 파이썬의 pickle 모듈을 사용하여 객체를 바이트 스트림으로 변환(피클링)하고, 나중에 이 바이트 스트림을 다시 객체로 변환(언피클링)하는 과정을 말합니다.
  • 피클링은 파이썬 특유의 메커니즘으로, 파이썬 객체의 거의 모든 종류(함수, 클래스, 리스트, 딕셔너리 등)를 직렬화할 수 있습니다.
  • 피클링을 통해 생성된 데이터는 파이썬에서만 의미를 가지며, 다른 프로그래밍 언어에서는 이해할 수 없는 형태일 수 있습니다.
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글