タグ

ブックマーク / podhmo.hatenadiary.org (2)

  • propertyについて - podhmoの日記

    pythonのpropertyについて頭を整理しようと思ったのでまとめてみる。 agenda propertyって何? 困ったこと(propertyって読み込み専用の属性を定義するための機能なの?) propertyの使い方 propertyの利用例 getterを定義する場合 setterを定義する場合 deleterを定義する場合 まとめ と書く予定だったけれど、途中で力尽きてしまった。利用例をまったく書いていない。でも、propertyとは何かということについて分かれば、利用例なんてすぐに思いつけると思う。 propertyって何? pythonで自分で定義したオブジェクトに、独自のアクセサを持った属性を追加できる機能のこと。 アクセサというのは、オブジェクトの状態に触るために用意された機能のこと。 具体的には、状態の取得、状態の設定(更新)、状態の削除の機能を持つものを指すことが多

    propertyについて - podhmoの日記
  • 高階関数(クロージャ)とメソッド(クラス) - podhmoの日記

    (書いていたら当たり前な感じのことになった。) クロージャとオブジェクト こんな話がある。 クロージャ(閉包)があればオブジェクトは作れる。 クロージャとオブジェクトの機能としての豊かさは等価だ。 オブジェクトは状態を持つ。 あまり厳密な話をする気はないけれど、例えばpythonなどのクラスとクロージャの両方をサポートする言語を使うとき、どちらを使ったら良いか迷うことがあった。 普通にコードを書いている時には一定のガイドラインが頭の中にあるかもしれない。 クロージャもクラスも状態を持つ その状態を利用した機能が1つだけで十分な時にはクロージャを使う。 その状態を利用した機能が複数存在する時にはクラスにすることを考える。 具体的な話。 例えば以下のような感じ。 引数を受け取りその値を状態として保持する。次に適用する時には、保持した状態との和を返す。 そういう機能を持ったものを作りたい。機能は

    高階関数(クロージャ)とメソッド(クラス) - podhmoの日記
  • 1