Python (パイソン) を始める

皆さんは、1学期に「パソコンの使い方」を習ってきました。また、この授業では「UNIX の使い方」を 習っています。しかし、どちらもどこかの人が「こんなふうに使いなさい」と言うので、その「使い方」を 学んでいるにすぎません。

これからは、自分が「こんなふうに使いなさい」と言える人になることを学びます。それが、 プログラミングです。

プログラミング

世の中には数多くのプログラミング言語があります。 近年は 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 *
数学的関数には以下のようなものがある。
>>> from math import *
>>> pi
3.1415926535897931
>>> e
2.7182818284590455
>>> cos(pi/4)
0.70710678118654757
>>> sin(pi/4)
0.70710678118654746
>>> sqrt(2)
1.4142135623730951

問題

  1. 整数、浮動小数を使った四則計算をいくつか試して見なさい。 また、括弧 ( ... ) を使って計算順序も確かめなさい。 何か変わったことはないだろうか?(ヒント:割れない)
  2. lim(x→0) sin(x)/x は 1.0 である。しかし,sin(0.0)/0.0 を計算することは できない。x に小さい値を入れて計算してみて,1.0 に近づいていく様子を見てみよう。 どのくらいの値で答えが 1.0 になっただろうか?
  3. **(アスタリスク2個)は「べき乗」を計算する。(例: 3 ** 3)
    1eN (Nは数字) の形式で表す浮動小数と、10 ** N の形式で計算する整数の それぞれ最大の値はどのくらいになるだろうか?
    (計算に時間がかかって途中で止めたいときは、^Z (Ctrl+z) で 停止 し、 ps でプロセス番号を調べて kill しなさい. 参考: 便利なコマンド)
解答は、メールで送ってください。


TOPへ
この授業に関する連絡先
菊地のホームページ