大学院博士前期課程:計算生物学演習(2009年度後期)

Go back to the previous page
pythonの使い方(2)


文法:関数(メソッド)の使い方
 プログラムを作成するときには、ある定まった手続きをひとまとめにしてプログラムに記述するのが普通です。このひとまとまりのことを関数またはメソッドといいます。関数とメソッドは作り方やその位置づけがまったく異なりますので、以下では別々に説明します。ただし、頻繁に利用する手続きをまとめて記述するという考え方では、両者共通です。関数やメソッドにしてまとめておくと、その手続きが必要になったときに関数かメソッドを呼び出せばよいわけですし、その手続きを変更したいときには、1つの関数やメソッドを修正すればすべてが統一的に修正できます。プログラムのあちこちに同じことを記述している場合は、それらを整合性を維持して修正することは大変難しいです。

文法:様々な関数やメソッドを利用する
 プログラムを作る際には、三角関数や対数などがすぐに必要になります。これらを関数やメソッドとして自分で定義していくのは大変です。pythonではこれらの手続きを関数やメソッドとしてすでに定義しています。
 関数はその種類によって分類されており、ライブラリとしてまとめられています。このライブラリを利用すれば、細かいことは考えずに複雑な関数を利用することができます。ライブラリを利用する際にはライブラリをプログラム内に”輸入”する必要があります。


 輸入は上記第3行目にあるようにfrom (ライブラリ名) import *でできます。上記の例では数学ライブラリmathをインポートしています。これら以外のライブラリーとしてcsv, shelve, pickle, datetime, calendar, re, sys, os, random, urllib, urllib2, ftp, poplib, smtplib, thread, threadingなどが標準的に存在します。
 importという命令から何となく想像できるように、from行では、mathに書かれているすべての関数を導入せよ、ということを意味しています。ですので、自分でいろいろな関数を定義したファイルをつくり、それをimportすることも可能です。1点注意すべきことがあります。自分で作るファイルの名称が、標準のライブラリー名と同一でだと、標準のライブラリーではなくて、自分で作ったファイルがインポートされます。mathライブラリをインポートしているはずなのに、プログラムがうまく動作しない場合は、その原因の多くは、自分でmath.pyというファイルをつくっており、そのファイルが今動作させようとしているプログラムと同じところにあることです。

文法:プログラムの外部からデータを読み込むには
 今までのプログラムは、変数をプログラムの中で定義していました。これでは変数に代入する値が変わるごとにプログラムを書き換えないといけなくなります。そこで、プログラムを実行するときに別ファイルから変数に代入する値を読み込むようにすれば、プログラムを修正する必要がなくなります。エクセルファイルのデータをテキストファイルで保存して、pythonのプログラムの入力にすることもできます。そのためには、例えば、以下のようにします。


 上記プログラムでは、外部ファイルに保存されている浮動小数の数値がval変数にリストとして代入されます。


 外部ファイルには、1行に1個の浮動小数が記載されています。いろいろと工夫をすると、他の形式の外部ファイルからデータを読み込むことができるようになります。

おまけ:乱数を利用して円周率を求める







Go back to the previous page