Python の学習¶
システムの管理ツールや補助スクリプトとして Python を使う方法を学びます。 テキストファイルに対する処理、シェルスクリプトに代わるものを Python で記述することにより、 チーム開発の生産性を向上させます。
目次:
なぜ Python か?¶
- 記述量が少ない
- タイプ量ではなく、ソースコード量の問題
- 記述量が少なければ、必然的に読む量も少ない
- 読む量が少なければ、多くの人が議論に参加できる
- 多くの人が議論できれば、考える機会が多くなる
- 人に依存した体制を避けられるかも?
- 「禅」
- 他の人が読むことも考えてコードを書く
- ドキュメントもテストも書く
- 事例の増加
- 海外では Python の使用例が増えている
- TIOBEの2010年最優秀言語はPython
- Dropboxは全部Pythonで信頼性の高いソフトウェアを作った(前編)~PyCon APAC 2013 - www.publickey1.jp
- 日本語のドキュメントも増えている
Perl や Ruby、PHP と比較されることも多くあります。 もちろん、構文やライブラリ、処理系、そしてコミュニティも違いますので一概に善し悪しは分かりません。 ひとつの切り口として、それぞれの言語が持つモットーがあります。
Perl が “There’s more than one way to do it” の考え方なのに対して、 Python は “There’s only one way to do it” の考え方です。 選択肢が多いに超したことはありませんが、増えすぎるとチーム開発での舵取りが難しくなってしまうこともあります。 もちろん文法で担保できるものではありませんが、考え方のひとつとしては重要でしょう。
Ruby (というか Rails) が CoC (Convention over configuration) の考え方なのに対して、 Python は “Explicit is better than implicit” の考え方です。 明示的に記述されている方が理解しやすい、ような気がします。
それ以外にも、クラウド環境を初めとして幅広い用途で使われています。
- Python and Django on Heroku - blog.heroku.com
- Heroku上でPython と Django - infoq.com (上記の日本語解説)
- Getting Started with Python on Heroku - devcenter.heroku.com
データ処理の分野でも利用されることが増えています。 科学計算に適したライブラリ NumPy や SciPy もあります。
- Python Displacing R As The Programming Language For Data Science - readwrite.com
- Python for Data Science (IPython 形式)
- Learn Data Science
- Getting Started With Python For Data Science
英語でも構わなければ書籍もたくさんあります。
- Python に関連する書籍 - hackershelf.com