みんなの Python 2-3 純粋オブジェクト指向言語としての Python (後半)
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 624回
- この商品を含むブログ (180件) を見る
今日は 2-3 「純粋オブジェクト指向言語としての Python」の後半を読みました。
- Python のクラスには「旧スタイルクラス」と「新スタイルクラス」があるらしい。新スタイルクラスは組み込み型か object を継承する。何も継承しないと「旧スタイルクラス」になる
- Python にはビルトイン、モジュール(グローバル)、ローカル(関数内)のスコープがある。関数内からはモジュールスコープの名前が見える
- global文を使って変数をグローバルスコープに映せる
- 関数は入れ子にできる
- インスタンスオブジェクトのアトリビュートにそのクラスのアトリビュートと同名のものを作ると遮蔽されてしまう
- 演算子は特殊メソッドを実装することで対応できる('+'なら __add__() を定義すればよい、等)
- __getattr__() は存在しないアトリビュートが参照された時に呼ばれるメソッド。Ruby の method_missing みたいなものですね。また新スタイルクラスでは __getattribute__() が利用できて、こちらはアトリビュートを参照する時に常に呼ばれる
この章でここまでに出てきた疑問点(演算子の再定義はどうするの、スライスは?とか)がかなり解消されてすっきりしました。