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