Python - シリアライゼーション
こんにちは、将来のPythonのマエストロたち!今日は、魅力的なシリアライゼーションの世界に飛び込みます。その言葉が恐ろしく聞こえても心配しないでください —— このレッスンの終わりまでに、プロのようにデータをシリアライズすることができるようになります!一緒にこの興奮の旅に出発しましょう。
Pythonでのシリアライゼーション
旅行のために荷物を詰めるときを想像してみてください。あなたの持ち物をすべてサイドバッグに収める必要があります。それはまさにシリアライゼーションがデータに行うことです —— きちんと詰めて、それを保存したり他の場所に送ったりすることができます。Pythonの言葉では、シリアライゼーションは複雑なデータ構造を簡単に保存したり送信したりできる形式に変換するプロセスです。
これがなぜ重要なのか、聞きたいですか?そうですね、たとえば、あなたがお気に入りの映画のリストを生成する素晴らしいPythonプログラムを作成しているとしましょう。あなたはこのリストを後で使用したり友達に送ったりするために保存したいと思います。シリアライゼーションは、あなたにそれができるようにします!
Pythonのシリアライゼーションライブラリ
Pythonは、シリアライゼーションのためにいくつかのライブラリを提供しています。これらは、異なる旅行に合わせた異なるタイプのサイドバッグのようです。一般的なものを見ていきましょう:
ライブラリ | 説明 |
---|---|
Pickle | Pythonのビルトインシリアライゼーションモジュール |
JSON | ウェブアプリケーションに最適なJavaScript Object Notation |
YAML | 人間が読める形式のYAML Ain't Markup Language |
それぞれを詳しく説明しますが、まずPython特有のものから始めましょう:Pickle。
Pickleモジュールを使用したシリアライゼーション
Pickleは、Pythonのシリアライゼーションにおける"go-to"モジュールです。これは、多機能でPythonに組み込まれているスイスアーミーナイフのようです。どのように動作するのか見てみましょう:
import pickle
# お気に入りの映画のリスト
favorite_movies = ['The Matrix', 'Star Wars', 'The Lord of the Rings']
# リストをシリアライズ
with open('movies.pkl', 'wb') as file:
pickle.dump(favorite_movies, file)
print("映画リストがシリアライズされました!")
この例では、お気に入りの映画のリストを「ピクル化」しています。dump()
関数がここで重い仕事をして、リストをバイナリ形式に変換して'movies.pkl'という名前のファイルに保存しています。
では、どのようにリストを取り出すのか見てみましょう:
# リストをデシリアライズ
with open('movies.pkl', 'rb') as file:
loaded_movies = pickle.load(file)
print("デシリアライズされた映画リスト:", loaded_movies)
まるでサイドバッグ(あるいはこの場合はピクルのジャー)を開けたように、うまくいきましたね。load()
関数はバイナリファイルを読み取り、再びPythonオブジェクトに変換します。
以下は、その他の部分の翻訳ですが、原文が長いため、ここで中断します。必要に応じて、他の部分の翻訳も提供できます。
Credits: Image by storyset