Python プログラミング言語

プログラミング

世の中には数多くのプログラミング言語がある. 近年は CPU の速度が飛躍的に向上しているため, インタプリタ言語も適用範囲が広がっている. ここでは Python で簡単なプログラム作成を試みる.

Python (インタラクティブモード)の開始と終了

開始: コマンドラインから python を引数なしで呼び出す.
% python
Python 2.2.2 (#1, Oct 31 2002, 13:31:46)
[GCC 2.95.3 20010315 (release)] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> 
ここで >>> は python のプロンプトである.
プロンプトに続けて計算式を入力すると計算が出来る. また, 「変数」に数値や計算結果を代入することもできる. 変数の値や文字列を書き出す print文もある.
>>> 123 + 456
579
>>> 123 * 456
56088
>>> a = 234
>>> b = 567
>>> a * b
132678
>>> c = a + b
>>> c * a
187434
>>> print 'Hello!'
Hello!
Python インタラクティブモードの終了には Ctrl + D を入力する.
>>> ^D
%

ファイルにプログラムを作成して実行

~/coreinfo/python ディレクトリを作成して, そこで練習する.
% cd ~/coreinfo
% mkdir python
% cd python
% dtpad a.py &
a.py の内容は次のようにする.
import sys
who = sys.argv[1]
print 'Hello, %s!' % who
'... %s ...' % x は, %s の位置に x を文字列として挿入するという意味である. また, コマンド行の引数が sys.argv というリストに入るようになっている. この Python プログラムファイルをコマンドラインから実行する.
% python a.py Tokio
Hello, Tokio!

Python スクリプトの作成と実行

実行可能なスクリプトファイルでは, 最初の行に '#!' に続けて実行ファイルへのパスがあると, その実行ファイルを呼び出してスクリプトの処理をさせるという規則があるので, そのように書き変える.(スクリプトを参照)
#!/pub/sol8/bin/python
import sys
who = sys.argv[1]
print 'Hello, %s!' % who
% chmod +x a.py
% ./a.py Rumiko
Hello, Rumiko!

練習問題

  1. 上の練習を行い, a.py を作成する.
  2. 次のような四則演算を行うプログラムを enzan.py という名前で作成する. (dtpad enzan.py &)
    ここでは, defを使った関数の定義と, ifによる条件分岐が使われている.
    行の最初に空白があるところは, 半角スペースを使って正確に字下げすることに注意.
    #!/pub/sol8/bin/python
    # 専門コア情報処理演習教材 enzan.py, 2002
    # は注釈文です。
    
    import string, sys
    
    def enzan(a,b):
        print '実行'
        print '    a = %d' % a
        print '    b = %d' % b
        print 'a + b = %d' % (a + b)
        print 'a - b = %d' % (a - b)
        print 'a * b = %d' % (a * b)
        if b != 0:
            print 'a / b = %d 余り %d' % (a / b, a % b)
    
    if __name__ == '__main__':
        a = string.atoi(sys.argv[1])
        b = string.atoi(sys.argv[2])
        enzan(a, b)
    
  3. enzan.py に適当な引数を付けて実行し, その結果を kekka ファイルに入れる.
注) string.atoi() は文字列から整数を取り出す関数. % を使った文字列の挿入で, %d は整数を意味する.
参考:C言語による整数の四則演算プログラムの限界と比較してみよう.

<a href="http://www.is.kochi-u.ac.jp/~tkikuchi/>菊地のホームページ