目的
プログラム言語の一つであるPythonの使い方の基礎を学ぶ.
また,特に指定がない場合下記のようにプログラムの実行結果を示す.
>>>この部分は実行結果を表示
Python3
インタプリタ型のプログラミング言語のひとつ.
※Python3とPython2は互換性がない.
インデントが構文規則として使用されており,書きやすく読みやすいという特徴がある.
使われる分野が広く機械学習でも使用される.
プログラミング言語 : コンピュータ言語の内コンピュータプログラムを記述するための言語.
インタプリタ型 : プログラムを実行する手段の一つ.ソースコードを1行ずつ読みこみ実行命令として,動作する.
Pythonのオブジェクト
Pythonのオブジェクトとは,Pythonで操作するデータとのことである.
複雑な構造にさせることもでき,行列などを簡単に表現できる.
詳しくは,難しいのでおいおい説明する.
コメントの記述
各行の#以降はコメントとして認識され,プログラムとしては実行されない.
また,"または'を3つずつで前後を囲うことで複数行をコメントアウトできる.
実行内容のコメントを記載する時に使用する.
# コメント行
"""
コメント行
"""
プログラム内で日本語を使う場合
Pythonのプログラムで日本語を使う場合,最初に文字コードを指定する必要がある.
1行目は,Pythonのパスを記載する.こうすることで,明示的に実行コマンドを指定しなくてもPython3で実行してくれる.
2行目は,文字コードを記載する.自分の環境の文字コードを指定する.
# !/usr/bin/python3
# ! -*- coding:utf-8 -*-
print("こんにちは")
Pythonのデータ型
Pythonの基本のデータ型を説明する.
変数
変数は値につける名前である.
プログラムが終了するまで,その変数は保持され,変数を指定することで,その値を代入できる.
a = 2
a + 1 #3を返す
a / 2 #1を返す
数値
Pythonにおいて,数をそのまま記載すると数値型として扱われる.
()を使うことで,一般的な数式同様に計算の優先度を変更できる.
a = 2 + 1 # 足し算
a = 3 - 1 # 引き算
a = 2 * 3 # 掛け算
a = 5 / 2 # 割り算
a = 7 % 2 # あまり
a = (2 + 3)*5
文字列
"または'で前後を囲うことで文字列型として扱われる.
文字列は+で結合させることが可能.
数値も"または'で囲うことで,文字列として認識されるため注意が必要.
a = "こんにちは"
b = "おはよう"
c = "5"
a + b
>>>'こんにちはおはよう'
Boolean
BooleanはTrueまたはFalseの2つの値を指す.
while文やif文を使う際に条件として使用することが多い.
また,条件文として,True,Falseを返却するようにすることができる.
a = True
b = False
c = 1
c > 0.5 # Trueを返す
c == 1 # Trueを返す
c > 2 # Falseを返す
List
Listは[]を使って定義することができる.
l = [2, 4, 6, 8, 10]
l[0] #ゼロベースのインデックスを使って特定の数値を呼び出せる
>>>2
l[1:5:2] # [start:stop:step]を指定することでstartからstopまでstep間隔で呼び出せる
>>>[4, 8]
m = [1, 3, 5, 7, 9]
l + m
>>>[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
n = l + m
n.sort()
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
n.append(100)
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
n.pop() # 末尾の要素を取り出す
>>>100
n
>>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1,1,1,2,2,3].count(1) # countで指定した値がいくつあるかを返す
>>>3
リストの内包表記
Pythonでは,リスト内表記が使用できる.
for文やifを使用して新たなリストに変換できる.
l = [2,4,6,8,10]
[x for x in l if x > 6] # 条件に合う値のみ抽出
>>>[8, 10]
[x*5 for x in l]
>>>[10, 20, 30, 40, 50] # 全部の値に5を掛けてリストを作成
l = ['hello','world']
[x.upper() for x in l] # 文字列をすべて大文字に変換したリストを作成
>>>['HELLO', 'WORLD']
Tuple
Tupleは複数のオブジェクトを一つにまとめたものである.
()を使用して定義する.
a = ('baba', 35)
b = a # そのまま別の変数に代入できる
>>>('baba', 35)
c, d = a # それぞれの値を分割して変数に代入することもできる
c
>>>'baba'
d
>>>35
Set
Setは,順序付けされていない一意の要素で構成される.
すなわち集合を構成するためのものである.
l = ['a', 'a', 'b', 'c', 'c', 'a']
set(l) # 重複要素を除去
>>>{'a', 'b', 'c'}
set('Hello') # 文字列を集合化
>>>{'H', 'e', 'l', 'o'}
a = set('Hello')
b = set('World')
a - b #aに含まれてbに含まれない要素
>>>{'H', 'e'}
a | b # aまたはbに含まれる要素
>>>{'H', 'W', 'd', 'e', 'l', 'o', 'r'}
a & b # aかつbに含まれる要素
>>>{'l', 'o'}
a ^ b # aまたbに含まれる要素で,かつaとbのどちらかにのみ含まれる要素
>>>{'H', 'W', 'd', 'e', 'r'}
a = { 1, 2, 4 }
b = { 2, 3, 5 }
c = { 2, 3, 4, 5 }
b <= c # bがcの部分集合であるか
>>>True
a <= c # aがcの部分集合であるか
>>>False
Dictionary
Dictionaryは,キーと値のペアを保持するオブジェクトである.
{}を使って,キーと値のペアを定義する.
d = {'name':'baba', 'age':35}
d['name']
>>>'baba'
d['car'] = 'Juke' # 後から要素を追加することも可能
d
>>>{'name': 'baba', 'age': 35, 'car': 'Juke'}
d.items() # キーと値を配列として変換できる
>>>dict_items([('name', 'baba'), ('age', 35), ('car', 'Juke')])
'name' in d # キーが存在するか確認
>>>True
'address' in d
>>>False
Pythonの制御文
制御文はプログラミングの基本となるものである.
いくつかの制御文を説明する.
制御文を使用する際にはインデントを使って記述する.
if文
if文では条件に合致するかそれ以外かで処理を変更できる.
複数の条件がある場合はelifを使用して,分岐を増やすことができる.
m = 3
if m > 5:
print('m greater than 5.')
elif m > 2:
print('m greater than 2.')
else:
print('m less than 2')
条件の関係演算子は以下のようなものがある.
演算子 | 意味 |
---|---|
< | より小さい |
<= | 同じか小さい |
> | より大きい |
>= | 同じか大きい |
== | 等しい |
!= | 異なる |
条件の論理演算子は以下のようなものがある.
演算子 | 意味 |
---|---|
and | かつ |
or | または |
not | ではない |
for文
for文を使い同じ処理を何度も行うことが可能.
a = ['a', 'b', 'c', 'd', 'e']
for l in a:
print(l, end=', ')
>>>a, b, c, d, e,
breakとcontinue
breakを宣言するとfor文を終了する.
for l in a:
if l == 'c':
break
print(l, end=(', '))
>>>a, b,
continueを宣言するとfor文のその回の処理が終了し,次のfor文の処理に移る.
for l in a:
if l == 'c':
continue
print(l, end=(', '))
>>>a, b, d, e,
while文
for文と同じように同じ処理を何度も行うことが可能.
for文と違い,ループする条件をwhile文に対して指定する.
breakとcontinueはfor文と同じように使用する.
a = 0
while a < 10: # aが10未満の間処理を続ける
a += 1
print(a, end=(', '))
>>>1, 2, 3, 4, 5, 6, 7, 8, 9, 10,