麻布十番で働くデータ分析者のブログ

グロースハック、プログラミング、データ分析の色々を発信します

Pythonチュートリアルをやってみる その1

 

Pythonチュートリアル 第3版

Pythonチュートリアル 第3版

 

 今日大学で上記の本を借りてみた。何よりも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の環境構築に関しては、以下のページを参照してほしい。

 

qiita.com

 

僕自身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の数値を入れて表示させる。