Pythonのシリアライズって何?
ナカイ君: Python シリアライズの方法をわかりやすく教えてほしいな。
世界のアオキ: OK、シリアライズっていうのは、データを保存や送信できる形式に変換することだよ。プログラムが理解するデータを、ファイルに保存したり、ネットワーク越しに送ったりするために使うんだ。
ナカイ君: もっと具体的に教えてくれない?
世界のアオキ: よく使われるのは「JSON」や「Pickle」という形式だね。JSONはテキストベースで読みやすく、Web開発でよく使われるよ。PickleはPython専用だけど、Pythonでしか使えないより複雑なデータも扱えるんだ。
シリアライズのコード例
ナカイ君: わかりやすいコードがあれば教えてほしいな。
世界のアオキ: もちろん、ここにJSONでシリアライズする簡単な例があるよ。Pythonのjson
モジュールを使って、データをJSON文字列に変換するんだ。
import json
# シリアライズするデータ
data = {'name': 'ナカイ君', 'age': 14, 'is_student': True}
# データをJSON文字列に変換
json_str = json.dumps(data)
print(json_str)
シリアライズの実践的な使い方
ナカイ君: 具体的にはどうやって使うの?
世界のアオキ: たとえば、データをファイルに保存したい時にシリアライズを使うんだ。JSON形式で保存すれば、後で読み込んで元のデータに戻せるよ。こんな風にね。
# データをJSONファイルに保存
with open('data.json', 'w') as f:
json.dump(data, f)
# JSONファイルからデータを読み込む
with open('data.json', 'r') as f:
loaded_data = json.load(f)
print(loaded_data)
ナカイ君: 他のパターンがあれば教えてほしいな。
世界のアオキ: Pickleを使う例もあるよ。PickleはPythonのどんなオブジェクトでもシリアライズできるから、もっと複雑なデータにも対応できるんだ。
import pickle
# データをPickle形式でシリアライズしてファイルに保存
with open('data.pkl', 'wb') as f:
pickle.dump(data, f)
# ファイルからデータをデシリアライズして読み込む
with open('data.pkl', 'rb') as f:
loaded_data = pickle.load(f)
print(loaded_data)
ナカイ君: そうやって使えばいいんだね。
世界のアオキ: そうなんだよね。でも、注意が必要だよ。特にPickleは実行可能なコードを含むことができるから、信頼できるソースからのデータのみを扱うことが大切だよ。
ナカイ君: わかった、やってみるよ!ありがとう!
まとめ
この記事では、Pythonでのシリアライズ方法を中学生にもわかりやすく説明しました。
シリアライズはデータを保存や送信できる形式に変換することで、JSONやPickleがよく使われる形式です。コード例を通じて、シリアライズの基本的な使い方や実践的な応用を解説しました。
この記事へのコメントはありません。