Pythonチュートリアルをやってみる その1
今日大学で上記の本を借りてみた。何よりもRuby以外にも武器が欲しかったのと、趣味で数学がやりたくてPythonで遊んでみようと思った。
なんともふわふわしてるが、RubyよりもC言語よりな(関数言語的な)思考でプログラミングができるし、ゆくゆくは機械学習やデータ解析にも使えるのではないかと思い、趣味で初めてみることにした。
このシリーズでは、1日1章Pythonチュートリアルで遊んでみて、その所感を残しておくことにする。最後にはPythonで数学がやりたい。
1章 食欲をそそってみようか
Pythonは、C/C++/Javaライブラリに似た言語でありながら、テストスイートやテストコードを書かずに、なおかつ早く簡単に使える言語だと紹介されている。
僕自身C言語はかじったことがあるから、Rubyなんかよりもとっつきやすく感じている。また、Pythonは読むのも簡単らしい。ありがたい。
ちなみにPythonの語源は、「Monty Python's Flying Circus」というテレビ番組から来ているらしい。みたことない。
2章 Pythonインタープリタの使い方
Pythonの環境構築に関しては、以下のページを参照してほしい。
僕自身Macを使っているので、Homebrewからものの数秒でインストールできた。
ちなみに2017年7月現在のPythonの最新版は、Python3.6.1である。
インタープリタは、以下のコマンドで起動できる。
$ python
また、以下のコマンドで終了できる。
$ quit()
3章 気楽な入門編
1, Pythonを電卓として使う
pythonは、電卓として使うことができる。
>>>2+2
4
>>>17/3
5
>>>17%3 #%演算子は剰余を返す
2
また、以下のような数値の代入も可能である。
>>> width=20
>>> height=5*9
>>> width*height
900
2, 文字列としてのPython
基本Pythonでは、シングルクォート('')もダブルクォート("")も変わらない。ただし、Pythonの文字列は変更不能体である。
>>>word = 'python'
>>>word[0]
'p'
>>>word = 'python'
>>>word[3]
'h'
2-2, スライシング機能
Pythonには、スライシング機能がある。これは文字列から特定の範囲をスライス(切り取る)してくれる機能である。
>>>word = 'python'
>>>word[0:2]
'py'
ちなみに以下は同じ結果を返す。
word[0:2]=word[:2]
3, フィナボッチ級数
フィナボッチ級数とは、
連続する2つの数の和は、その上位の数になる。
というものである。
これをpythonのプログラムで描いてみる。
>>>#フィナボッチ級数
>>> a,b = 0,1
>>> while b < 10:
... print(b)
... a,b = b, a+b
...
1
1
2
3
5
8
以下のようにもできる。
>>> a,b = 0,1
>>> while b < 200:
... print(b)
... a,b = b,a+b
...
1
1
2
3
5
8
13
21
34
55
89
144
まず、a,bに0,1という数字を入れる。
次にbを200までループで回す。
bを200までprintし続けるのだが、次にaにはbの数字を、bにはa+bの数値を入れて表示させる。