対象のクラスのクラス変数をもとに特殊メソッドを追加する。あわせて使うことでアトリビュートごとの挙動を細かく設定できる。以降に同梱されているためインストールする必要はありません。クラスに対して使うデコレータです。つの特殊メソッドが自動的に追加されます。オプションを渡すこともできます。オプションでは、特殊メソッドの追加の有無等を指定することができます。そのように(シンプルに使えるように)工夫して作られているからであり、一般のデコレータはこのようには行きません。タイプアノテーションの無いクラス変数は無視されるので、そこは注意が必要です。「タイプアノテーションがあるかどうか」という点だけを見ており、具体的な型が何なのかは見ていないという点もポイントです。型の値を代入しても何も問題ありません(バリデーション等は特に追加されません)。宣言部は次のようになっています。後に並んでいるので、引数はすべてキーワードを明示的に指定した渡し方をする必要があります。デコレートされたクラスとそのインスタンスに対して使える関数をいくつか用意しています。アイデアの概要は以上でおおよそ押さえられたかと思いますが、実際に利用する場合は詳細を確認してから使うようにしてください。デコレートされたクラスのアトリビュートの挙動を細かく指定するためのものです。比較の対象外にすることができます。使うとその他さまざまなカスタマイズを行うことができます。宣言部は次のようになっているので、実際に利用するときは事前に詳細を確認するようにしてください。基本的な使い方についてでした。最後に使いどころについて。進化版的な位置づけのものです。使い捨てのスクリプト作成等の場合は、単純に特殊メソッドの作成を省略したいときに気軽に使うとよさそうです。規模が大きめの開発では、アーキテクチャの境界をまたぐ情報の受け渡しに使用するシンプルなデータ構造やプレーンなドメインモデルクラス等で使うと便利かと思います。多くの場合そのまま使えて便利なのではないでしょうか。いうほどのものではなくなってくる、のかも、しれません。標準ライブラリに追加された経緯等について興味のある方には以下のページ等が参考になるかと思います。使い方について書いています。系でところどころ異なるため参考にされる際は各記事の対象バージョンにご注意ください。簡素を追求する禅のような言語で、使っていて禅僧のような気分になれるところが魅力です(個人の感想であり効果・効能を示すものではありません)。:)author後藤隼人おかげさまで元気にやっています。