2016-11-01から1ヶ月間の記事一覧
題のごとし。 ググって理解したところによれば、factory method って「具象クラスごとに、同種手続き(たいてい抽象クラスで定義されてるメソッド)時に呼び出されるクラス可変的なコンストラクタをメソッド化したもの(で、具象クラス実装時に中身が書かれ…
「実践Python3」のコラム見て、ハッと閃いたのでメモ。(Python3.5) シーケンスのアンパックは引数定義のところでよく使われますね。 def func(*args, **keywords): pass みたいな感じで。アンパックはまだ使いみちがあって、入れ子になったシーケンスの内…
ディスクリプタについて勉強してから10か月くらい前か~ iuk.hateblo.jp qiita.com このQiita記事が公式のHowtoディスクリプタよりも詳しい&分かりやすくてよきよき。特に__getattribute__の中身の擬似コードあるのがいいよね。 Effective Python にはディ…
だからタイトル長くない? kk6.hateblo.jp types.MethodType 使えば個々のインスタンスにメソッドを追加できるんだけど、typesをわざわざ import するのもなって感じにもなる。 で、 qiita.com を読んでたら、関数オブジェクト(こいつは非データディスクリ…
タイトル長くない? class C(): def __init__(self): self.x = 10 @property def x(self): return self.__dict__["x"] @x.setter def x(self, value): print("eh-eh") self.__dict__["x"] = value データディスクリプタはインスタンス属性辞書よりもアクセス…
メタクラス関連で__new__の使い方はよくみるけど、クラスレベルでの使い方がぐぐってもあんまりなし。 というところに、以下の記事のコメントでやってることが面白かったので、似たことを検証がてらメモ。 qiita.com class A(): def __new__(cls, value): pr…
クラスプロパティってできんのかな~と思って調べていた。 fakatatuku.hatenablog.com なるほどな~と思いつつ、この記事を読み返していた。 postd.cc プロパティって(というかディスクリプタって)、インスタンスの生成元クラスのアトリビュートとして登録…
項目31 で、ディスクリプタがクラス属性だから各インスタンス間で共有されちゃうという問題があって、 それに対して、ディスクリプタが保持する状態を辞書にして、各インスタンスをキーとして保管しておこうっていう方策に出ているわけですが、 それだとその…
ちょっと需要があるようなので、まとめておきます。 基本的には、CLL 日本語抄訳の目次にある 現行文法のPEGの解説 を元にしていきます*1。 といいつつも、有名なパーサが微妙に(もっぱらバグ取りを目的として)変更を加えてる点も知っておく必要があると思…