Tuần tự hóa đối tượng Python, khi chúng ta xác định trong ngữ cảnh lưu trữ và giải nén dữ liệu, được coi là một phương thức. Trong đó chúng ta có thể chuyển đổi/dịch một đối tượng dữ liệu python sang định dạng byte. Định dạng byte này có thể lưu trữ được (dưới dạng tệp hoặc trong bộ nhớ đệm). Trên hết, bạn sẽ có thể truyền, định dạng lại hoặc khôi phục nó sau này thông qua các ổ cắm. Trong tuần tự hóa, một mô-đun có tên dưa chua từ python cho phép bạn tuần tự hóa đối tượng python, đối tượng này cũng có thể được lưu trữ dưới dạng tệp vào bất kỳ vị trí nào hoặc bên trong bộ nhớ đệm trong một khoảng thời gian tạm thời Show Pickle để tuần tự hóa một đối tượng pythonPickle là một mô-đun được phát triển trong python, có thể chuyển đổi một đối tượng python thành chuỗi hệ thống byte (người dùng thường không thể đọc được), sau này có thể được lưu dưới dạng tệp hoặc vào bộ nhớ đệm. Cuối cùng, nó cũng có thể giải nén các chuỗi byte thành các đối tượng python ban đầu. Có hai phương pháp khác nhau để tuần tự hóa và giải tuần tự hóa trong mô-đun dưa chua, như được đề cập bên dưới Bắt đầu khóa học phát triển phần mềm miễn phí của bạn Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác
Có hai phiên bản của các giao thức trong khi làm việc trên dưa chua. Một là HIGHEST_PROTOCOL và một là DEFAULT_PROTOCOL. Giá trị chuẩn cho HIGHEST_PROTOCOL là 5 và giá trị đó cho DEFAULT_PROTOCOL là 4 Gói phát triển phần mềm tất cả trong một(hơn 600 khóa học, hơn 50 dự án) Giá 600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời Bạn có thể kiểm tra điều này bằng cách chạy đoạn mã sau trong python
Đầu ra của mã này như hình dưới đây, cung cấp cho bạn các giá trị giao thức cho giao thức CAO NHẤT và MẶC ĐỊNH tương ứng Giá trị giao thức CAO NHẤT và MẶC ĐỊNH Chúng ta hãy xem một số ví dụ liên quan đến tuần tự hóa đối tượng, khử tuần tự hóa trong lập trình Python 1. dưa chua. dump() Phương pháp tuần tự hóa một đối tượng Pythondưa chua. Phương thức dump() sẽ lấy một đối tượng python làm đối số và sau đó lưu trữ nó dưới dạng tệp văn bản với đối tượng được tuần tự hóa thành byte. Hãy nhớ rằng chuyển đổi này sẽ không hiển thị cho bạn đối tượng python ban đầu mà là một byte văn bản có đối tượng đó được đánh số thứ tự trong. Xem mã dưới đây
Ở đây, chúng tôi đã tạo một từ điển có tên là “dic1”, chứa thông tin về người dùng truy cập cổng web và số lượng mua hàng mà anh ta đã thực hiện Chúng tôi cũng đã xác định một đối tượng "tệp". Đối tượng này sẽ cho phép chúng ta lưu trữ các byte đã được tuần tự hóa vào một tệp văn bản tại một thư mục làm việc với tên “được tuần tự hóa”. Xem đầu ra bên dưới Ở đây, không có đầu ra nào hiển thị khi tệp được tạo và lưu trữ trong thư mục làm việc. Chúng ta có thể thấy nó như hình dưới đây Chúng tôi có thể mở tệp này trong bất kỳ trình soạn thảo văn bản nào để xem đầu ra 2. dưa chua. load() Phương thức hủy tuần tự hóa các byte thành đối tượng Pythondưa chua. hàm load() sẽ lấy một tệp đã tuần tự hóa đối tượng python thành byte và sau đó chuyển đổi nó thành đối tượng python ban đầu. Xem đoạn mã dưới đây để nhận thức rõ hơn
Ở đây, chúng tôi đã sử dụng cùng một đối tượng tệp mà chúng tôi đã tạo tuần tự hóa trong ví dụ trước. Sau đó, chúng tôi đã sử dụng dưa chua. load() để đọc tệp đó và chuyển đổi nó thành đối tượng gốc python là từ điển. Xem đầu ra như hình dưới đây Bạn có thể xem từ điển gốc mà bạn nhận được dưới dạng đầu ra trong bảng điều khiển, như minh họa ở trên, với thông tin người dùng 3. dưa chua. dumps() Phương pháp tuần tự hóa đối tượng PythonBây giờ, chúng ta sẽ sử dụng dưa chua. phương thức bãi (). Điều này cho phép chúng tôi tuần tự hóa một đối tượng python thành một đối tượng văn bản có kích thước byte. Tuy nhiên, sự khác biệt ở đây là, phương pháp này không cho phép chúng tôi lưu kết quả vào một tệp; . Xem một ví dụ dưới đây
Ở đây, chúng tôi đã sử dụng dưa chua. phương thức dumps() với giá trị DEFAULT_PROTOCOL để chuyển đổi đối tượng thành byte. Xem đầu ra như hình dưới đây 4. dưa chua. loading() Phương thức chuyển đổi byte mở thành đối tượng pythonHãy để chúng tôi làm ngược lại; . phương thức tải ()
Mã này sẽ tạo từ điển gốc với các thành phần của nó. Xem ảnh chụp màn hình đầu ra như hình bên dưới Chúng tôi sẽ kết thúc bài viết này ở đây, nhưng không phải trước một số điểm kết luận Sự kết luận
Bài viết được đề xuấtĐây là hướng dẫn về tuần tự hóa đối tượng Python. Ở đây chúng ta thảo luận về hai phương pháp tuần tự hóa và giải tuần tự hóa khác nhau trong mô-đun pickle. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm – Tôi có thể tuần tự hóa một chuỗi không?Sắp xếp theo thứ tự. Quét từng phần tử trong một chuỗi, tính toán độ dài của chuỗi và nối chuỗi đó với một chuỗi và dấu phân cách hoặc dấu phân cách phần tử (không nên có dấu phân cách đó trong chuỗi . Chúng tôi nối thêm độ dài của chuỗi để chúng tôi biết độ dài của từng phần tử.
Tuần tự hóa trong Python là gì?Tuần tự hóa đối tượng là quá trình chuyển đổi trạng thái của một đối tượng thành luồng byte. Luồng byte này có thể được lưu trữ thêm trong bất kỳ đối tượng giống như tệp nào, chẳng hạn như tệp đĩa hoặc luồng bộ nhớ. Nó cũng có thể được truyền qua ổ cắm, v.v.
Phương pháp nào được sử dụng để tuần tự hóa đối tượng trong Python?Mô-đun dưa chua được sử dụng để triển khai các giao thức nhị phân để tuần tự hóa và hủy tuần tự hóa cấu trúc đối tượng Python. muối chua. Đó là một quá trình trong đó hệ thống phân cấp đối tượng Python được chuyển đổi thành luồng byte
Điều gì xảy ra nếu đối tượng được sắp xếp theo thứ tự?Tuần tự hóa là một cơ chế chuyển đổi trạng thái của đối tượng thành luồng byte . Deserialization là quá trình ngược lại trong đó luồng byte được sử dụng để tạo lại đối tượng Java thực tế trong bộ nhớ. Cơ chế này được sử dụng để duy trì đối tượng. Luồng byte được tạo độc lập với nền tảng. |