まえがき
こうしましょう。あなたが理解できない機能を使っている人がいたら、その人を撃ってしまうのです。新しい機能について学ぶよりも簡単ですし、やがてはPython 0.9.6が持つ多くの機能の中でほんの一部の理解可能なものだけを使う人々が生き残るでしょう(笑)†1。
—— Tim Peters
伝説的なPythonコア開発者にして『The Zen of Python』の著者
[†1] Usenetニュースグループcomp.lang.pythonへの投稿「Acrimony in c.l.p」、2002年12月23日(https://fpy.li/p-1)。
Python 3.10の公式チュートリアル(https://fpy.li/p-2)の冒頭には、「Pythonは学びやすく強力なプログラミング言語です」と記されています。これはもちろん間違いではないのですが、注意点が1つあります。Pythonは確かに学習も利用も容易ですが、多くの現役Pythonプログラマーは、その強力な機能のほんの一部しか活用していません。
他の言語での経験があるプログラマーなら、ほんの数時間で実用的なPythonコードを書けるようになるでしょう。しかしその後数週間、あるいは数ヶ月経っても、以前学んだ言語のクセが抜けないままPythonのコードを書き続ける開発者は少なくありません。初めてのプログラミング言語としてPythonを学ぼうという人々にとっても、教育現場や入門書で語られるのはしばしば講師や著者のクセが残るコードです。
別の言語を使っていたプログラマー向けのPython教室の講師として、筆者は「人は既知の範囲でしか物事を考えられない」という問題に気づきました。本書はこの問題への対策でもあります。他言語でのプログラミングの経験があるなら、例えば「Pythonでも正規表現を使えるだろう」と考えてドキュメントを調べるでしょう。しかし、タプルのアンパックやデスクリプタといった機能にまったく触れたことのない開発者は、そもそも調べようとすら思わないはずです。その結果、Pythonに固有だからという理由で見過ごされてしまう機能が数多く存在することになります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access