October 2017
Intermediate to advanced
832 pages
13h 34m
Japanese
誰が何を思おうと何と言おうと、Pythonが関数型言語の影響を強く受けたと思ったことはありません。CやAlgol 68のような命令型言語の方が私にはずっとなじみますし、関数を第1級オブジェクトにしたとしても、Pythonを関数型プログラミング言語とみなしたことはありません。
——Guido van RossumPythonの慈悲深き終身独裁官†1「The History of Python」の中のブログ「Origins of Python's 'Functional' Features」より[05-01]
[†1] 監訳注:BDFL(Benevolent Dictator For Life)と略記されることが多いです。本書用語集も参照。
Pythonの関数は第1級オブジェクト(first-class object)です。プログラミング言語の理論家たちは、次のことができるプログラムが「第1級オブジェクト」であると定義しています。
整数、文字列、ディクショナリはPythonの第1級オブジェクトの例です。そんなこと当たり前とは思うでしょうが、関数が第1級オブジェクトではない言語からPythonに移行してきた人には説明が必要でしょう。この第Ⅲ部では本章も含めて、関数をオブジェクトとして扱う意味と実用的な応用方法を取り上げます。
「第1級関数」( ...
Read now
Unlock full access