初心者向けのいろいろ

端末からインタプリタとして使う

% python  <=コマンド名
Python 1.5.1 (#40, Feb 10 1999, 14:50:49)  [GCC 2.7.2.1] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> 3+4
7
>>> _*5
35
>>> list = range(10)
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print list           % printは単なる構文(Syntax)なのでオブジェクトではありませんね
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> repr (list)
'[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'
>>> `list`
'[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'
>>> list[5:-1]
[5, 6, 7, 8]
>>> fun = repr
>>> fun(list)
'[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]'

上のインタラクティブなやりとりの説明

  1. 大雑把には"_"は最後に表示したものだと考えよ。
  2. Schemeのように変数にはなんでも(どんな型のオブジェクトでも)代入できる。
  3. reprとバッククォート(`)はたぶん同じで、文字列を返す。
  4. list[5:-1]はスライス演算って奴なのね

引数にスクリプトを読み込ませて使う

% cat test.py
def fun(arg):
    "This function is for test"
    for i in range(3):
        print arg,
    print "End"

fun("Hello")
fun(3.1415)
#end of script

% python test.py
Hello Hello Hello End
3.1415 3.1415 3.1415 End

スクリプト(test.py)の説明

  1. インデントでブロックを識別する
  2. defは関数の定義だ。
  3. for <variable> in <sequence object> はいわゆるFOR文だ。
  4. range(number)は0からnumberまでのリストを返すぞ。
  5. print arg,の最後に付いたコンマはいったい?
  6. print以外で標準出力に出すには?
  7. #はコメントの始まり
  8. 関数の直後にある文字列はlispにあるようなDocumentation Stringだろう。(なくてもよい)

Emacs内で使う


shuhei@is.s.u-tokyo.ac.jp
Last modified: Thu May 25 15:17:23 JST 2000