Pythonをやる!②
2019年12月4日
定義文
関数の定義
def 関数名 ( 引数リスト ): でできます。
x
1
def func(x,y):
2
return x + y
3
4
print(func(1,2))
クラスの定義
本には載っていなかったのですが、やり方を知らないと気持ち悪いので調べてメモ。class の後にクラス名をつけて、インデントして、def でメソッドを定義。クラス変数は __init__ (多分コンストラクタ)で作るっぽい
10
1
class Test():
2
def __init__(self, a, b):
3
self.value1 = a
4
self.value2 = b
5
6
def PrintAdd(self):
7
print(self.value1 + self.value2)
8
9
t = Test(1,2)
10
t.PrintAdd()
継承は、class 名前 (): の () 内にかくっぽい。名前がかぶれば、オーバーライド?
4
1
class Test2(Test):
2
3
def PrintAdd(self):
4
print(self.value1 + self.value2 + 3)
ライブラリ
numpy
Numpy は、数値計算ライブラリのようです。行列計算などが便利っぽい。ライブラリは、import 文でインポートできます。
11
1
import numpy as np
2
3
mat = np.array([[1,2,3],[4,5,6],[7,8,9]])
4
print(mat)
5
6
print('要素数 : ', mat.size)
7
print('次元数 : ', mat.ndim)
8
9
# 全体を2で割る
10
halfMat = mat/2
11
print(halfMat)
itertools
ループ処理寄りのライブラリのようです。順列組み合わせの計算が便利っぽい。
11
1
import itertools as it
2
3
list = [1,2,3,4,5]
4
5
# 組み合わせ
6
for x in it.combinations(list,2):
7
print(x)
8
9
# 結合してイテレーション
10
for c in it.chain(list, [6,7,8]):
11
print(c)
まとめ
ひとまず必要そうな Python の構文はこれくらいのようです。次から、いよいよディープラーニングをやっていきたい!