Pythonにさわってみる
読んでみたい書籍の幾つかはPythonで書かれているため、まずはPythonに触れて文法を覚えいくことにしました。
UbuntuにはデフォルトでPythonが入っているため、まずはバージョンを確認。
$ python --version Python 2.6.6
調べてみたところ最新版は2.7.xと3.1.xの模様。バージョン3からは大きな変更が加わっているという話だったので、まずは2系の習得から。
$ python
対話モード起動。文法の確認程度ならこのモードで十分できそうです。
で、文法の確認
まずは基本。
>>> print "Hello World" Hello World
でた。
ただ3系では上記の記述は使えないらしいです。
$ python3.1 >>> print "Hello World" File "<stdin>", line 1 print "Hello World" ^ SyntaxError: invalid syntax
なるほど、エラーになりました。
print関数のみに変更されたってことで、
>>> print("Hello World") Hello World
これなら両バージョンで行けるようです。
ただイチイチ変更点を確認していると時間掛かりそうなので、なるべく3系のことは意識せずに進めていきます。
>>> a = 1 >>> type(a) <type 'int'> >>> b = "2" >>> type(b) <type 'str'> >>> c = a + int(b) >>> print(c) 3 >>> c * c #乗法 9 >>> c ** c #べき乗 27 >>> c % 2 #剰余 1 >>> c / 2 #除法 1 >>> c / 2.0 #型変換は自動的に行われないらしい 1.5 >>> type(3/2) <type 'int'> >>> type(3/2.0) <type 'float'> >>> type(2147483647) <type 'int'> >>> type(2147483648) <type 'long'>
変数への代入、型の確認・変換、四則演算はこんなところ。他にもブール型、None型?、複素数型なんてものもあるようです。
注意すべきは整数同士の割り算をする場合、明示的に小数点をつけておかないと、思ったのとは違う結果になってしまうこと。
>>> a = [1,2,3,4,5,"6","あいう",[7,8,9]] >>> for i in a: ... print(i) File "<stdin>", line 2 print(i) ^ IndentationError: expected an indented block
Pythonではインデントも文法に組み込まれているため、そのあたりの規則を守れない悪い子は怒られる!
>>> for i in a: ... print(i) #Pythonではインデント重要 ... 1 2 3 4 5 6 あいう [7, 8, 9]
リストに色々な型を入れられるってのは面白いですね。
>>> a = [1, 2] #変更可能なリスト >>> b = (1, 2) #変更できないタプル >>> print a, b [1, 2] (1, 2) >>> a.append(3) >>> b.append(3) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'tuple' object has no attribute 'append' >>> print a, b [1, 2, 3] (1, 2)
あとはキーバリューを扱う辞書型、集合を扱うセット型なんかもあるようです。
今回はサラッと流しながら確認したので、次からは実際にコードを読んだり書いたりしながら使い方を覚えていくことにします。