セルにはcodeやコメントを書き込むことができます

'code'がスクリプト。'Markdown'を選ぶとテキストを書き込むことができます

コードの実行

では、コードを走らせてみましょう。セルの中にコマンドを書き込んで、'shift'+'return'で実行します

まずは電卓がわりに

In [1]:
1+2
Out[1]:
3

変数に保存することもできます

In [2]:
a = 1
b = 3

a+b
Out[2]:
4

一度覚えこませた変数は、後から再利用できます。

In [3]:
print(a)
print(b)
1
3

一連の数をまとめて保持することもできます。リストといいます。[ ]で囲みます

In [4]:
a_list = [1, 2, 3, 5, 8]

print(a_list)
[1, 2, 3, 5, 8]

リストに値を追加することもできます

In [5]:
a_list.append(13)

print(a_list)
[1, 2, 3, 5, 8, 13]

制御構文

コンピュータのメリットは同じ作業を何度も文句も言わずに正確に実行することです。そのためには、正確に指示を伝えなければなりません。基本はif文とfor文です。

pythonでは制御の範囲をインデント(先頭の空白)を使って認識します。空白4つが一単位のインデントを意味します。同じレベルのインデントの部分は同じまとまりだと認識します。他の言語だと{}で区切ることが多いですので、ちょっと独特です

if文

条件分岐。条件を与えて、その条件ごとに違った操作をする時に使います。

In [6]:
f = 0.1

if f<0.2:
    print('small')
elif f<.8:
    print('medium')
else:
    print('large')
small

for文

同じ操作を何度も何度も何度も何度も何度も行う時に使います。

In [7]:
for i in [0, 1, 2, 3, 4, 5]:
    print('Square of {} is {}'.format(i, i**2))
Square of 0 is 0
Square of 1 is 1
Square of 2 is 4
Square of 3 is 9
Square of 4 is 16
Square of 5 is 25

100回や1,000回、1,000,000回繰り返すことだって、コンピュータに任せれば簡単です

In [8]:
total = 0

for i in range(1000000):
    total += i+1
    
print( 'total = {}'.format(total) )
total = 500000500000

ここで使っている range(x) は0から始まってx-1までの数字の列を返します。

コンピュータの世界では数字は0から始まることが多いのです。ちょっと気をつけてください

In [9]:
print( list(range(5)) )
[0, 1, 2, 3, 4]

先ほど作ったリスト内の数字の和を計算してみましょう

In [10]:
total = 0

for i in a_list:
    total += i+1
    
print( 'sum of {} is {}'.format(a_list, total) )
sum of [1, 2, 3, 5, 8, 13] is 38

ライブラリの利用

数値計算によく使われるのがnumpyです。代数計算が得意です。

In [11]:
import numpy as np

乱数も利用できます

In [12]:
np.random.rand()
Out[12]:
0.6127775871082773

timeというライブラリを使えば、現在時刻を取得することもできます

In [13]:
import time

print( time.ctime() )
Wed Aug  2 09:22:54 2017

経過時間を測ることもできます

In [14]:
t1 = time.time()
In [15]:
t2 = time.time()

print('{} second'.format(t2-t1))
0.005936861038208008 second

関数の作成

もともと用意されていたコマンドだけでなく、自分でコマンドを作成することもできます。

In [16]:
def my_function( i ):
    
    y=i*i+2
    
    return y
In [17]:
print( my_function( 10 ) )
print( my_function( 113 ) )
102
12771

© 2017 Kosuke Teshima