鉄は熱いうちに打て
=============================

Effective Pythonで学ぶ - 3章 クラスと継承4

2017-12-08

昨日までのあらすじ

Effective Python を真面目に読もうと思ったので読みはじめました。

ジェネリック

この本、「ジェネリック」という言葉が出てきますが、どんな意味で使われているのでしょうか?

ジェネリックプログラミング - Wikipedia には、「データ形式に依存しないコンピュータープログラミング方式である」と書いてあります。

3章 クラスと継承

  • 項目 26:多重継承は mix-inユーティリティクラスだけに使う

mix-inとは「メッソドだけを継承するための継承されること前提のクラス」。インスタンス変数を持たせず、継承させたいメソッドのみを実装する。多重継承はなるべく止めて、mix-inを使いましょうね。という話。

  • 項目 27:プライベート属性よりはパブリック属性が好ましい

Pythonのクラスの属性の可視性は、 publicprivate の2種類しかない。文法的にはprivateはない。なぜかというと、「みんないい大人なんだから」という考えによるそうです。

  • 項目 28:カスタムコンテナ型は collections.abcを継承する

カスタムコンテナを自分で作りたい時は collections.abc に抽象基底クラスが用意されているので、選んで継承する。

この辺、読んだ直後はわかった気になるのですが、なんか忘れるんですよね。基本の学習が足りないのとあまり自分では使わないのが原因ですね。

もうすでに4日遅れ進行ですが、来年になったとしても予定分は頑張るぞー ٩( 'ω' )و