Python数値計算プログラミング

 

 

 

 

Pythonの誕生と進歩

時代は 1980 年代。まだ仕事場や家庭にコンピュータが十分に普及しておらず、ほとんどの人がインターネットという言葉さえ知りませんでした。その当時、やたらと長くて複雑なコードと格闘していたプログラマーたちの姿を見ていた1人のオランダ人は、もっと読みやすく使い勝手の良いプログラミング言語を作れないものかと思案しました。
 
こうして生まれた新しい言語が Python です。この奇妙な名前は、イギリスのコメディ番組『空飛ぶモンティ・パイソン』に由来します。Python は日本語で「ニシキヘビ」を意味します。現在ではニシキヘビが Python のシンボルマークとなって、参考書の表紙を飾っていますね(個人的にはヘビはあまり好きではないです … )。
 
Python が無料で一般公開されると、開発者たちの注目を集め、瞬く間に世界中のコンピュータにインストールされていきます。Python は進化し続けながらあらゆる分野に浸透し、2000 年の Python2 を経て 2008 年に Python3 が登場しました。

Pythonが広く支持される理由

Python は無料で手に入る オープンソースソフトウェア であることに加え、コードが短く簡潔に書けるように設計されているので、学習コストが低く、プログラマーは僅かな訓練期間で実際の開発に取り組むことができるようになります。それは Python を使ってソフトウェアを開発する企業の生産コストを大幅に抑え、長い目でみると企業の大きな収益につながります。Google や Microsoft のような有名 IT 企業もソフトウェア開発の主要言語として Python を採用しています。
 
汎用高水準オブジェクト指向言語 Python は、あらゆる分野に進出していますが、とりわけサイエンスの分野でシェアを急拡大しています。
 
Python の本体部分はいたってシンプルで、必要最低限の機能しかありませんが、複雑な科学技術計算や統計処理を簡単に実行できるライブラリやツールが豊富に揃えられていて、しかもそれを無料でダウンロードし、目的に応じて機能を次々と拡張していくことができます。言語の習得に時間をかけずにすめば、それだけ自分の専門分野の研究に集中することができます。だからこそ多くのサイエンティストたちが Python を支持するのです。

近年では機械学習やディープラーニングといった人工知能の開発を支える研究も世間によく知られるようになりましたが、これも多くは Python で開発されています。さらにはデータサイエンス、IoT (Internet of Things) といった研究分野でもやはり Python が使われています。2017 年には、LIGO という観測施設がアインシュタインの一般相対性理論が予測していた重力波を観測し、ノーベル物理学賞をもたらしました。その LIGO の複雑な計測機器を制御し、膨大な観測データを管理・分析し続けたのも Python です。このような状況においては、現代の理数系の学生にとっては、Python の習得は必須のものとなりつつあります。現に MIT(マサチューセッツ工科大学)では、Python がプログラミングの教材として採用されています。今後研究者としての人生を選択するのであれば、Python によって貴重な時間を節約できるようになるはずです。
 
仕事で使うのではなく、プログラミングを趣味として学ぼうという人にとっても、やはり Python が最適です。Python は文法がとても簡単ですし、何をやるにしてもライブラリを探して引っぱってくれば、ほとんどのことが比較的短い時間で実現できるはずです。

コードが正常に動作しない場合の対処方法

当サイト (python数値計算入門) のコードサンプルをコピーしたとき、半角のシングルクォーテーション、ダブルクォーテーションが勝手に全角のクォーテーションに変換されてしまうという問題が発見されました。これは WordPress というサイト管理システムの仕様に原因があったのですが、サイトからコードをコピーして改めて動作を確認するという作業を怠った私にも責任があります。改めてお詫び申し上げます。
 
現在はシステム (PHP という言語で書かれています) を修正して、「クォーテーション自動変換問題」は解決されていますが、IEブラウザ (Internet Explorer) のバージョンによっては、コピーしたコードを Jupyter notebook に貼りつけたときに行の先頭にスペースが入ってしまうことがあるようです。これについてはいまだに理由がわかりませんので、コードが動作しない場合は、できるだけ Google Chrome など、IE 以外のブラウザで当サイトを閲覧していただくようお願いします。
 
いずれにしても、サイトからコードをコピーすると、どうしてもエンコード(コンピュータ内部で文字と数値を変換するルール)の仕組みが絡んで、プログラム開発環境に貼り付けたときに稀に不具合が生じます。Jupyter notebook で問題が起こる場合は、

SyntaxError: invalid character in identifier

と警告されることが多いようです。これはタブやスペースなどがうまく変換されていないことに原因があるようです。もしこのエラーメッセージが表示された場合は、(どの行に問題があるのか明確に指摘されるので)該当する行だけ消して、改めて同じコードを打ち直してみてください。ほとんどのケースはこれで解決するはずです。

Python公式ドキュメント

当サイト(python 数値計算入門)の記事を執筆するにあたり、Python の公式ドキュメントを参照することがあります。公式ドキュメントなので、Python については何でも載っています (網羅されています)。記述も極めて正確で信頼できるものです。それならば、Python を学ぶ人はみんな公式ドキュメントを読めばいいと思われるかもしれませんが、公式ドキュメントはあくまでエンジニアに正確な情報を提供することを目的に作成されたリファレンスなので、入門者にとってはまったく読みやすいものではありません。ですから、やはり公式ドキュメントから必要な事項を抜き出して、わかりやすい日本語で伝える手引書(書籍やサイト)が必要となるのです。