🐍 Learning Pythonを読む

2022/07/16

Learning Python  マーク・ルッツ著"Learning Python 5th Edition"をざっと読みました。 『はじめてのPerl』がなかなかよかったので、やはり最初に読む本はオライリーのものにしようと思ったわけです。 2013年の出版でやや年数がたっているのと1500頁を超える分量が不安でしたが、最近になってもいろいろと本文の校正は行われているし、プログラム本の頁数は実際ほどのものでないとも思うからです。


 第1章にありますが、現在自社で Python を使っているのは Google, YouTube, Dropbox, Raspberry Pi, iRobot, Netflix, Intel, Cisco, IBM, JPMorgan, NASA など数限りないということに驚きました。 Google が社を挙げて Python を取り入れているというのは聞いていましたが、YouTube や Instagram、Dropbox も Python でできた Web アプリらしいですね(Python の作者は最近まで Dropbox にいたとか)。 こうなるとアメリカのハイテク企業を Python が席巻しているといってもよさそうです。 さらに読み進めると、その言語構造が Javascript にかなりよく似ているのにも驚きました。 特に、リストの書き方、リストのコピーが値渡しでなく、参照渡しになっている点など。

 さすがに英語版1500頁を2日では読めないので、あちこち読み飛ばした部分があります。 特にイテレータが出るあたりから、最後の、例外処理、Unicode、属性処理、デコレータ、メタクラスまでは全くの流し読みです。 それで感じたのは、Python は最近の言語動向を取り入れて拡張を続け、これをマスターすれば他言語はいらないとも思えるようなものになっているということです。

 ただ最終章で作者も言うように、シンプルな読みやすさを目指した部分(例えば {} を使わず、インデントだけで階層を表現するようにしたところ)と、やみくもに現代的動向を取り入れた部分がマッチしていないきらいはあります。 初期Perl 同様、変数の型宣言のみならずスコープの指定もしないという志は非常に好感が持てるのですが、その一方、3行を1行ですませるアクロバティックな記法を許したりしているのです(まあPerlよりは読みやすい気もしますが……)。

 ともかく、Python はディープラーニングをはじめ、様々な周辺ツールとの協業ができる母体となっているので、もう少しお勉強して、JS 将棋も Python で書いて、ネット上のみならず、Windows や Mac でも動く実行版も作れるかなと思ったりしてます(これは 3-4 ヶ月後に実現しました)。

※冒頭の写真はLearning Python(Kindle版)の表紙です。

Facebookシェア

🕍 同ジャンル最新記事(-5件)

詰将棋解答プログラム(2024/10/28)

3年前に詰将棋に解答する python スクリプト mshogi.py をこの度、本腰を入れて書き直し、スピードアップも実現し...

TSNETスクリプト通信を読む(2023/12/23)

今から十数年前、私が所属していた TSNET というメーリングリストのグループがあります...

Python速度アップ考(2022/07/23)

Learnig Pythonの中で Pypy の速さに触れていますが、自分でも調べてみようと思い、本では触れられていない、Pypy での結果に加え、numpy, Cython, cupy でも計測して..

Learning Python(2022/07/16)

マーク・ルッツ著 Learning Python をざっと読みました。『はじめてのPerl』がなかなかよかったので...