1. はじめに

地球惑星物理学演習ではプログラミング言語として伝統的にFortranのみを教えてきたわけであるが,昨今の事情を考えるとこれは必ずしも時代に合っているとは言えないかもしれない.Fortranが必ずしも悪い言語というわけではないものの,科学技術計算に用いられる言語として最もポピュラーな言語の一つになったPythonを学んでおくことがプラスとなることは間違いないであろう.少なくとも筆者にとってはPythonは普段の研究で触れている時間が最も長い言語である.ここでは実験的な試みとして Fortranをある程度使えるようになったユーザー向け にPythonの演習用の解説および課題を用意した [1]

まずは Pythonの基本 ではコマンドラインでのPythonスクリプトの実行方法などPythonの基礎の基礎を, 対話型の実行方法 ではPythonの強みの一つである様々な対話型の実行方法を簡単に紹介する. 制御構造と関数・オブジェクト ではプログラミング言語としてのPythonの基礎的な文法などを解説するが,Pythonに関する書籍やウェブは既に多数存在するため,ここではあえて詳細には立ち入らないこととする. 便利な組み込み型 ではtupleやlist,dictなどの便利なPythonの組み込みオブジェクトについて簡単に学ぶ.これらを理解した上で,NumPy配列の基本 でNumPyと呼ばれるライブラリが提供する多次元配列オブジェクトの基本的な使い方を身につけよう.

この演習では オブジェクト指向言語としてのPythonの使い方は扱わない し,初学者には必ずしも必要ではないだろう.ただし,Pythonを使いこなすには当然どこかの段階でオブジェクト指向言語の概念を習得しておいた方がよいことは間違いないので,興味のある人は是非勉強してみて欲しい.

なお,オフラインで勉強したい人はこのウェブページのPDF版を以下からダウンロードすることもできる.

ただしこれは機械的に変換したものなので,細部の調整まではされていない.あくまでもこのウェブページが正式版である.

1.1. 演習環境の準備

Pythonは昨今の機械学習ブームで非常にメジャーな言語となったので,とりあえず使ってみるのは非常に簡単である.特に便利な Google Colaboratory (Colab) はGoogleアカウントとブラウザさえあればPythonのコードを実行できる環境であり,機械学習などにも使われている.本演習のサンプルや課題の多くもColabで実行することができる.一方で,コマンドラインからスクリプトとして実行する課題も用意されている.このような課題に取り組むには ここ を参考にUnix-likeな環境を用意して欲しい.

サンプルや解答は各章のリンクからたどることもできるが, サンプル および 解答 のそれぞれGithubリポジトリを参照してもよい. git コマンドで

1$ git clone https://github.com/amanotk/python-resume-sample.git sample
2$ git clone https://github.com/amanotk/python-resume-answer.git answer

と実行すればサンプルと解答を一括でダウンロードしてもよい.

1.2. 参考

Pythonに関する書籍は数多く出版されているので,紙の教科書が欲しい人は適宜好きなものを選べばよいだろう.ただし,現代ではウェブで何でも調べられるので,あまり本を購入する必要はないかもしれない.初学者向けのまとまったサイトとして以下の2つを挙げておく.

  • 東大理学部の講義.かなり詳しい.現在は教材が全て公開されているようなので,今となってはこちらを見て勉強する方がよいと思われる
  • 京大の全学共通科目.PDFファイルが入手できる.初学者向けでやさしい.

最近はYouTubeでチュートリアル動画が多数見つかるので,(特に英語が分かる人は)YouTubeで勉強するのも良いかもしれない.