October 2025
Intermediate to advanced
572 pages
7h 46m
Japanese
Pythonはオブジェクト指向プログラミング言語として、継承、ポリモーフィズム、カプセル化など、幅広い機能をサポートしています。Pythonで何かしらの機能を実現するには、新しいクラスを生成して、そのクラスがインタフェースを通じてどのように相互作用するのかを定める必要があります。
クラスと継承を使えば、意図する動きをオブジェクトで表現しやすくなるので、時間の経過と共に変化する機能を改善したり拡張したりしやすくなります。つまり、クラスと継承を適切に扱う方法を学べば、保守しやすいコードが書けます。
Pythonはマルチパラダイム言語でもあり、関数型プログラミングも可能です。関数オブジェクトは第一級オブジェクトであり、通常の変数のように扱えます。オブジェクト指向プログラミングと関数型プログラミングを組み合わせれば、それぞれのスタイルを単独で使うよりも強力なプログラムを作成できるようになります。
Pythonの組み込みAPIの大半は、引数にフックと呼ばれる関数を渡して動作をカスタマイズできます。フックはAPIの実行中にコールバックするために使われます。例えば、リストのsort()メソッドは、ソートする際に必要なインデックス値を決めるために使うフックをkey変数で受け取ります([項目100]参照)。以下のコードでは、フックとして組み込み関数len()を渡して、アルファベット順ではなく長さ順にソートしています。
names = ["Socrates", "Archimedes", "Plato", "Aristotle"] names.sort(key=len) print(names) # ["Plato", ...
Read now
Unlock full access