Python (パイソン) を始める
皆さんは、1学期に「パソコンの使い方」を習ってきました。また、この授業では「UNIX の使い方」を
習っています。しかし、どちらもどこかの人が「こんなふうに使いなさい」と言うので、その「使い方」を
学んでいるにすぎません。
これからは、自分が「こんなふうに使いなさい」と言える人になることを学びます。それが、
プログラミングです。
プログラミング
世の中には数多くのプログラミング言語があります。
- C言語 ... 単に C とも呼ぶ. コンピュータのオペレーティングシステムの記述に 使われている. 殆どの UNIX 系システムではアプリケーションプログラムの コンパイルのために ヘッダファイル (/usr/include) と ライブラリ (/usr/lib) を提供している.
- Pascal ... アルゴリズムの記述に優れていると言われる. 普通は Pascal の 処理系は別売りで, システムとの低レベルでのインターフェース は苦手らしい.
- FORTRAN ... 科学計算に昔から使われてきた. ゆえに, プログラミングスタイルが 古臭くなっているが, なかなか無くならない.
- Python ... 上の3つのコンパイラー言語と違ってインタプリタである. このため, 作成したプログラムを即実行できる. ただし, 実行速度は 遅いので, 何度も繰り返し実行するなら不適当である. (Python はパイソンと読む)
近年は CPU の速度が飛躍的に向上しているため, インタプリタ言語も適用範囲が
広がっています。ここでは Python を使って簡単なプログラム作成を学びます。
教科書について
教科書の「初めての Python 第2版」は初めてプログラミングをする人だけでなく、
他の言語でプログラミングを学んだ人が「初めて」Python を使う場合にも使えるように
書かれています。従って、高度な内容が含まれていますが、難しいところは読み飛ばして
かまいません。
また、教科書には Windows PC で Python を利用する方法についても触れられています。
余裕のある人はぜひ試してみてください。
Python を始める
ここでは,まずプログラミング以前のこととして,Pythonを「電卓」的に使った
計算を試してみます。(教科書では、第3章のはじめ及び第4章あたりです)
Python (インタラクティブモード)の開始と終了
開始: コマンドラインから python を引数なしで呼び出す.
tkikuchi@fms% python
Python 2.2.3 (#5, May 6 2005, 15:13:33)
[GCC 2.95.3 20010315 (release)] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>>
ここで >>> は python のプロンプトである。
Python を終了するには ^D (Ctrl+d) を入力する。
それではもういちど Python を起動して計算をしてみよう。入力する文字を太字で表す。
>>> 1 + 1
2
>>> 3 - 1
2
>>> 2 * 1
2
>>> 4 / 2
2
>>>
掛け算には * (アスタリスク) 割り算には / (スラッシュ) を使うことに注意。
自分の好きな数を使って計算の練習をしてみよう。
>>> 5 / 2
2
あれ?なんかおかしい。これは、整数の範囲で計算しているから。
小数を使うことを明示すると、小数(浮動小数ともいう)で結果を出してくれる。
>>> 5. / 2
2.5
注:
浮動小数では 2.8e7, 5e-3 はそれぞれ 2.8 x 107, 5.0 x 10-3
を表す。
変数を使う
消費税込みの金額を計算することを考えよう。品物の金額に 1.05 を掛ければよい。
>>> 300 * 1.05
315.0
>>>
この 1.05 をどこかに保存しておくと何度も使える。保存する場所に名前を付けたものが
変数である。
>>> a = 1.05
>>> 500 * a
525.0
>>> 600 * a
630.0
>>>
注:
何度でも使えると言っても、いったん Python を終了してしまうと、もう一度起動したときには
その変数はご破算になっています。本当に何度も使うには、、、次回以降に。
数学的関数
sin, cos, sqrt などの数学的関数を使うには,次のまじないをする必要がある。
>>> from math import *
数学的関数には以下のようなものがある。
- sin(x) ... sin x (x はラジアン単位)
- cos(x) ... cos x
- tan(x) ... tan x
- atan(x) ... arctan x (tan-1 x)
- pi ... π (円周率)
- e ... e (自然対数の底)
- log(x) ... log x (自然対数)
- log10(x) ... log10 x (常用対数)
- sqrt(x) ... √x (2乗根)
例
>>> from math import *
>>> pi
3.1415926535897931
>>> e
2.7182818284590455
>>> cos(pi/4)
0.70710678118654757
>>> sin(pi/4)
0.70710678118654746
>>> sqrt(2)
1.4142135623730951
問題
- 整数、浮動小数を使った四則計算をいくつか試して見なさい。
また、括弧 ( ... ) を使って計算順序も確かめなさい。
何か変わったことはないだろうか?(ヒント:割れない)
- lim(x→0) sin(x)/x は 1.0 である。しかし,sin(0.0)/0.0 を計算することは
できない。x に小さい値を入れて計算してみて,1.0 に近づいていく様子を見てみよう。
どのくらいの値で答えが 1.0 になっただろうか?
- **(アスタリスク2個)は「べき乗」を計算する。(例: 3 ** 3)
1eN (Nは数字) の形式で表す浮動小数と、10 ** N の形式で計算する整数の
それぞれ最大の値はどのくらいになるだろうか?
(計算に時間がかかって途中で止めたいときは、^Z (Ctrl+z) で 停止 し、
ps でプロセス番号を調べて kill しなさい. 参考:
便利なコマンド)
解答は、メールで送ってください。
TOPへ
この授業に関する連絡先
菊地のホームページ