ホームページ バックエンド開発 Python チュートリアル Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Oct 16, 2023 am 09:22 AM
json 連載 pickle

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法

Python は、開発者が便利な組み込みライブラリとモジュールを多数備えた、シンプルでありながら強力なプログラミング言語です。さまざまなタスクを迅速に実行します。その中で、pickle と JSON は、オブジェクトのシリアル化と逆シリアル化によく使用される 2 つのモジュールです。この記事では、これら 2 つのモジュールを使用してオブジェクトをシリアル化および逆シリアル化する方法を紹介し、詳細なコード例を示します。

  1. オブジェクトのシリアル化と逆シリアル化に pickle を使用する

pickle は、オブジェクトをバイナリ データに変換して保存または送信できる Python のモジュールです。また、復元することもできます。バイナリデータを元のオブジェクトにコピーします。

最初に、pickle モジュールをインポートする必要があります:

import pickle
ログイン後にコピー

次に、pickle モジュールのダンプ関数を使用して、オブジェクトをバイナリ データにシリアル化します:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = pickle.dumps(data)
ログイン後にコピー

ダンプ機能を使用します。 その後、変数 Serialized_data にシリアル化されたバイナリ データが保持されます。逆に、loads 関数を使用してバイナリ データを元のオブジェクトに復元することもできます。

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)
ログイン後にコピー

このとき、変数 deserialized_data は復元された元のオブジェクトを保存します。

次は、カスタム Person オブジェクトをシリアル化および逆シリアル化する方法を示す完全な例です。

import pickle

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = pickle.dumps(person)

# 反序列化对象
deserialized_person = pickle.loads(serialized_person)
print(deserialized_person.name)
print(deserialized_person.age)
ログイン後にコピー
  1. オブジェクトのシリアル化および逆シリアル化に JSON を使用する JSON は、簡単な軽量のデータ交換形式です。読み書きすること。 Python は、JSON オブジェクトを簡単にシリアル化および逆シリアル化できる json モジュールを提供します。
まず、json モジュールをインポートする必要があります:

import json
ログイン後にコピー

次に、json モジュールのダンプ関数を使用して、オブジェクトを JSON 文字列にシリアル化します:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = json.dumps(data)
ログイン後にコピー

Use dumps 関数の後、変数 Serialized_data にはシリアル化された JSON 文字列が保持されます。逆に、loads 関数を使用して JSON 文字列を元のオブジェクトに復元することもできます。

deserialized_data = json.loads(serialized_data)
print(deserialized_data)
ログイン後にコピー

このとき、変数 deserialized_data は復元された元のオブジェクトを保存します。

同様に、カスタム Person オブジェクトをシリアル化および逆シリアル化する方法を示す完全な例を次に示します:

import json

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = json.dumps(person.__dict__)

# 反序列化对象
deserialized_person = json.loads(serialized_person)
print(deserialized_person['name'])
print(deserialized_person['age'])
ログイン後にコピー
概要:

合格 これら 2 つのモジュール、pickle と JSON を使用して、オブジェクトを簡単にシリアル化および逆シリアル化できます。 pickle を使用してオブジェクトをバイナリ データに変換し、ファイル ストレージやネットワーク送信に使用できます。JSON は汎用データ交換形式であり、他の言語と簡単にデータを交換できます。特定の使用シナリオとニーズに応じて、オブジェクトのシリアル化および逆シリアル化操作を実行する適切なモジュールを選択できます。

以上がPython で pickle と JSON を使用してオブジェクトをシリアル化および逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 golang WebSocketとJSONの組み合わせ:データ送信と解析を実現 Dec 17, 2023 pm 03:06 PM

golangWebSocket と JSON の組み合わせ: データ送信と解析の実現 現代の Web 開発では、リアルタイムのデータ送信がますます重要になっています。 WebSocket は双方向通信を実現するために使用されるプロトコルで、従来の HTTP リクエスト/レスポンス モデルとは異なり、WebSocket を使用すると、サーバーがクライアントにデータをアクティブにプッシュできます。 JSON (JavaScriptObjectNotation) は、簡潔で読みやすいデータ交換用の軽量形式です。

MySQL5.7とMySQL8.0の違いは何ですか? MySQL5.7とMySQL8.0の違いは何ですか? Feb 19, 2024 am 11:21 AM

MySQL5.7 と MySQL8.0 は 2 つの異なる MySQL データベース バージョンであり、それらの間には主な違いがいくつかあります: パフォーマンスの向上: MySQL8.0 では、MySQL5.7 と比較してパフォーマンスがいくつか向上しています。これには、より優れたクエリ オプティマイザー、より効率的なクエリ実行プランの生成、より優れたインデックス作成アルゴリズムと並列クエリなどが含まれます。これらの改善により、クエリのパフォーマンスとシステム全体のパフォーマンスが向上します。 JSON サポート: MySQL 8.0 では、JSON データのストレージ、クエリ、インデックス作成など、JSON データ型のネイティブ サポートが導入されています。これにより、MySQL での JSON データの処理と操作がより便利かつ効率的になります。トランザクション機能: MySQL8.0 では、アトミックなどのいくつかの新しいトランザクション機能が導入されています。

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

Pandas の使用法チュートリアル: JSON ファイルを読み取るためのクイック スタート Pandas の使用法チュートリアル: JSON ファイルを読み取るためのクイック スタート Jan 13, 2024 am 10:15 AM

クイック スタート: JSON ファイルを読み取る Pandas の方法、特定のコード サンプルが必要です はじめに: データ分析とデータ サイエンスの分野では、Pandas は重要な Python ライブラリの 1 つです。豊富な機能と柔軟なデータ構造を備え、さまざまなデータを簡単に処理・分析できます。実際のアプリケーションでは、JSON ファイルを読み取る必要がある状況によく遭遇します。この記事では、Pandas を使用して JSON ファイルを読み取る方法を紹介し、具体的なコード例を添付します。 1.パンダのインストール

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

PHPを深く理解する:JSON Unicodeを中国語に変換する実装方法 PHPを深く理解する:JSON Unicodeを中国語に変換する実装方法 Mar 05, 2024 pm 02:48 PM

PHP の深い理解: JSONUnicode を中国語に変換する実装方法 開発中、JSON データを処理する必要がある状況によく遭遇しますが、特に変換する必要がある場合、JSON 内の Unicode エンコードによっていくつかのシナリオで問題が発生します。 Unicode エンコードを漢字に変換する場合。 PHP では、この変換処理を実現するためのメソッドがいくつかありますが、以下では一般的なメソッドを紹介し、具体的なコード例を示します。まず、JSON の Un について理解しましょう

Java のシリアル化はパフォーマンスにどのような影響を与えますか? Java のシリアル化はパフォーマンスにどのような影響を与えますか? Apr 16, 2024 pm 06:36 PM

Java パフォーマンスに対するシリアル化の影響: シリアル化プロセスはリフレクションに依存しているため、パフォーマンスに大きな影響を与えます。シリアル化では、オブジェクト データを保存するためのバイト ストリームの作成が必要となり、メモリ割り当てと処理コストが発生します。大きなオブジェクトをシリアル化すると、大量のメモリと時間が消費されます。シリアル化されたオブジェクトは、ネットワーク経由で送信されるときに負荷を増加させます。

C++ 関数ライブラリはシリアル化と逆シリアル化をどのように実行しますか? C++ 関数ライブラリはシリアル化と逆シリアル化をどのように実行しますか? Apr 18, 2024 am 10:06 AM

C++ ライブラリのシリアル化および逆シリアル化ガイド シリアル化: 出力ストリームの作成とアーカイブ形式への変換。オブジェクトをシリアル化してアーカイブします。逆シリアル化: 入力ストリームを作成し、アーカイブ形式から復元します。アーカイブからオブジェクトを逆シリアル化します。実践例: シリアル化: 出力ストリームの作成。アーカイブ オブジェクトを作成します。オブジェクトを作成してアーカイブにシリアル化します。逆シリアル化: 入力ストリームを作成します。アーカイブ オブジェクトを作成します。オブジェクトを作成し、アーカイブから逆シリアル化します。

See all articles