Ubuntu/Lubuntuを起動してTask Managerを見ると常にpythonが起動していて、18MBぐらいのメモリを食っている。Ubuntuではpythonは欠かせないものらしい。常時起動しているならば、実行環境は整っているわけだし、インタプリタなので、テキストを書けばそれで実行できてしまう。そんなお手軽なpythonを使うのも手だなぁと思い始める。実際pythonで何ができるのかよく分からないのだが、習得が楽なインタプリタ言語ということなので、少しいじってみることにした。
ネットで少し調べてみると、python言語はインデントを使って制御するので、だれが書いても記述が同じようになり、読みやすいというメリットがあるようだ。今までインデントがソースに影響するような言語をやったことがないので、少し興味が出てきた。
まずはHello Worldから
ターミナルから直接プログラミングすることもできるのだが、他の言語と同じようにテキストファイルに書くことにした。
hello.pyという名前のテキストファイルを作成して、下の内容を書き込む。
print 'Hello World'
|
ターミナルから実行してみると、Hello Worldが表示される。
$ python hello.py
Hello World
|
なんとも手続きの少ないプログラムだろうか。Cなどと比べると、何が起きているのかが掴みづらく思えてしまう。
次は日本語表示
日本語を扱うには下のようにコメントアウトの部分にutf-8を宣言する必要がある。そして日本語出力する前にuを書く。1行目には#!/usr/bin/env python を書いてみた。pythonで実行しますよという意味らしい。すべてコメントアウトされていているので、ちゃんと読まれているのだろうか? utfを宣言しないと日本語ではエラーが出るので読んでいるに違いない。やや謎の仕様だ。ちなみに1行目に「#コメント」など日本語を打つとエラーが起きる。3行目以降なら特に問題なし。pythonのコメントは何かいろいろ約束事がありそうだ。
#!/usr/bin/env python
# coding: utf-8
# コメント
print u'こんにちは パイソン'
|
実行すると日本語が表示される。
$ python hello.py
こんにちは パイソン
|
if文を使ってみる
括弧を使わずにコロンを使って書く。インデントは重要で、これを正確に書かないとエラーになる。
#!/usr/bin/env python
# coding: utf-8
# コメント
num = 11
if num % 2 == 0:
print u'偶数です'
else:
print u'奇数です'
|
実行するとnumの値に応じて偶数か奇数が表示される。
for文を使ってみる
for文はちょっと変わっている。10回表示をするという内容。
#!/usr/bin/env python
# coding: utf-8
for i in xrange(10):
print i ,u'回目'
|
実行すると勝手に改行されて表示される。
0 回目
1 回目
2 回目
3 回目
4 回目
5 回目
6 回目
7 回目
8 回目
9 回目
|
関数を使ってみる
関数はdefで定義。この場合引数を3つ用意した。関数を使う側は結構自由で、値がなければ関数側のデフォルト値が使われる。他にもいろいろ柔軟な扱いが可能らしい。
#!/usr/bin/env python
# coding: utf-8
def func(a=0, b=0, c=0):
print a, b, c
func(1,2,3)
func(1,2)
func(1)
func()
|
実行すると以下のようになる。
確かに書く量は少なさそうだ。細かな文法はその都度覚えることにして、何か有用なプログラムでも作ってみようかな。