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

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


pythonを起動する
 この演習では、Cygwin/MacOS X/LinuxのPythonを用いる。いずれのプラットフォームにおいても以下の手順でpythonを起動できる。

  1. ターミナルを立ち上げる
  2. プロンプトが出たら、pythonと打ち込む

pythonを終了する
 contrlキーを押しながらdキーを押す。

文法
 プログラムを作成するためには、作成のルール(文法)を覚える必要があります。幸いpythonは覚えるべき事項が少ない言語です。変数の概念、四則演算のやり方、プログラムの流れを制御する方法および、関数(メソッド)の使い方がわかれば、目的の処理(統計解析)をおこなうプログラムを自由に作成することができます。

  1. 変数
    プログラムは、複雑な計算を何回も実行しなければならないときに作成します。1回しか行わない計算ならばかなり複雑な計算であっても、電卓を使って計算してしまうでしょう。何回も実行する計算であっても、簡単な計算ならば毎回暗算で行った方がよいかもしれません。複雑な計算を何回も実行するということは、ある決まった複雑な手続きの計算を、様々な数値で行うことを意味しています。その場合、複雑な手続きは抽象的に記述し、その記述の中に毎回別の数値を代入して計算を行っていくのが一番便利です。抽象的な手続きを記述する際に数値を代入する仮の値のことを「変数」とよびます。pythonでは変数を特別に準備する必要はありません。変数に値を代入することで、変数が自動的にできあがります。
      
    上の絵では、sという変数を準備して、そこに2を代入しています。sという名前がついた箱をコンピュータの中に用意して、その箱の中に2という数字を入れたと解釈してもよいです。

     変数の中には整数だけでなく、小数や文字を入れることもできます。文字を代入するときには、文字をシングルクオーテーションまたはダブルクオーテーションで囲みます。


     変数の中身を知りたいときはprint命令を使います。print命令に変数を指定すると、変数の中身(箱に入っている値)が表示されます。


     変数を2つ以上ならべて表示するには、print命令に対して複数の変数をカンマで区切って指定すればよいです。カンマを忘れるとエラーが表示されます。


     ただ単に変数名を打ち込むだけでも、変数の中身を表示することができます。また何も入れていない変数(空っぽの箱)を指定すると、エラーが表示されます。


     変数へ代入する値は1つである必要はありません。2つ以上の値を変数に代入することができます。その際は、四角括弧[ ]で複数の値を囲み、各値の間にはカンマを入れます。関連する値をこのようにひとつの変数に代入すると後の利用が簡単です。このようにして代入した変数には順番があります。最初の値を表示したいときはその値を変数名プラス[0]で指定することができます。2番目の値ならば変数名プラス[1]、3番目の値ならば変数名プラス[2]です。全部で3個しか値が入っていない変数で、4番目の値を参照しようとするとエラーがでます。また参照する番号に負の値を使うと、後ろからの順番で値を参照できます。[-1]は一番最後、[-2]は最後から2番目です。


     上の図で、xの中身を表示したときに、少し妙なことが起こっています。xに代入した値は、1.414と1.732、2.369にもかかわらず、xを表示すると、1.414ではなくもっ長い数字が、また2.369ではなくもっと長い数字が表示されます。これはコンピュータの中で数値をどのようにして記憶しているかに依存する精度の問題です。コンピュータで小数計算をする時には避けられない問題です。精度や誤差については別の場所で説明します。
     まとまりにして代入する値を小数に統一する必要はありません。文字や整数が混在しても代入ができます。この変数のことをリスト型変数とよびます。


  2. 四則演算
     pythonでは電子卓上計算機と同じように四則演算ができます。以下の記号を用います;足す(+)、引く(-)、かける(*)、割る(/)、累乗(**)。計算結果を新しい変数に代入することもできます。イコール(=)の左側に新しい変数を、右側に計算式を書けばよいのです。イコールの左右に同一の変数があった場合はどうなるのでしょうか?正しい計算結果が左の変数に上書きされます。
     

     イコールの左右で同じ変数があらわれる場合のうち、変数に定まった値を足したり、定数から定まった値を引く計算では、記述を略記できます。かけ算や割り算ではこのような簡略表記はできません。


     四則演算のうち、割り算には気をつける必要があります。pythonでは、整数の割り算をするときは、その答えが整数になるようにします。割り算して得られた値を超えない一番大きな整数にします。1/2は0.5ですから、この値を超えない最大の整数である0になります。ー1/2はー0.5なので、この値を超えない最大の整数であるー1になります。答えが小数でほしい場合は、計算に用いる数値のいずれかまたは両方を小数にしてください。



    休憩はじめ:
     何回も同じ操作を打ち込むのが、そろそろ面倒になってきたと思います。そう言うときは、テキストエディターを使ってコマンドをファイルに書き、そのファイルをpythonに読ませて操作を実行させましょう。Linuxならばviやnemacsを使ってファイルを作成します。


     上の図で文字に色がついているのは、viの機能であり、pythonで実行するファイルとしては意味がありません。文字についている色はpythonではまったく解釈されません。ファイルを作る際の決まり事がいくつかあります。
    • ファイル名は必ず.pyで終わること
    • ファイルの第1行目に#!/usr/bin/env pythonと記載し、第2行目は何も書かないこと

     ファイルができたら、ファイルに実行権を与え(chmod +x またはchmod 700)、コマンドラインにファイル名を打ち込んでください。ファイルの3行目から列挙した操作が実行されるはずです。


     このファイルのことを「プログラム」や「ソースコード」とよびます。
    :休憩おわり


  3. プログラムの流れを制御する方法
     コンピュータに操作を命令する場合には、全操作を正確に記述しなければなりません。さまざまな値に同じ操作を適用する場合は、操作を1回だけ記述して、この操作を繰り返すように命令できれば便利です。このような繰り返し操作を記述するときにforループあるいはwhileループを使います。変数の性質によって行う操作を切り替えたい時もあります。このような条件判断はif文で記述します。


Go back to the previous page