Pythonはインデントが大事!
この記事の目次
Typeで型を取得
type(型を取得したい値)
a = 10 b = 2.5 c = '文字' d = True print(type(a)) # 整数 int型(結果:<class 'int'>) print(type(b)) # 浮動小数点数 float型(結果:<class 'float'>) print(type(c)) # 文字列 str型(結果:<class 'str'>) print(type(d)) # 真偽値 bool型(結果:<class 'bool'>)
| データ型 | 説明 | 例 |
|---|---|---|
| int型 | 整数 | 1, 10, -5 |
| float型 | 小数点 | 1.5, 3.14 |
| str型 | 文字列 | ‘こんにちは’,’Hello World’ |
| bool型 | 真偽値 | True, False |
Printで出力
数値を出力
print(10) # 結果:10
●変数に入れる場合
a = 10 print(a) # 結果:10
文字を出力
シングルクォーテーションかダブルクォーテーションで囲う。
print('文字') # 結果:文字
●変数に入れる場合
x = '文字' print(x) # 結果:文字
数値と文字を合わせて出力
a = 10 x = '文字' print(str(a) + x) # 結果:10文字
aはint型なので、str型に変換する必要がある。
演算子リスト
算術演算子
| 演算子 | 意味 | 例 |
|---|---|---|
| + | 加算 | 10 + 5 |
| – | 減算 | 10 – 2 |
| * | 乗算 | 10 * 6 |
| / | 除算 | 8 / 2 |
| // | 除算(小数点以下切捨) | 9 // 2 |
| % | 剰余 | 9 % 2 |
| ** | べき乗 | 2 ** 3 |
代入演算子
| 演算子 | 意味 | 例 |
|---|---|---|
| = | 単純な代入 | a = 3 # aに3を代入 |
| += | 加算して代入 | a += 3 # a = a + 3 と同じ |
| -= | 減算して代入 | a -= 3 # a = a – 3 と同じ |
| *= | 乗算して代入 | a *= 3 # a = a * 3 と同じ |
| /= | 除算して代入 | a /= 3 # a = a / 3 と同じ |
| //= | 除算して代入 | a //= 3 # a = a // 3 と同じ |
| **= | べき乗して代入 | a **= 3 # a = a ** 3 と同じ |
| %= | 剰余して代入 | a %= 3 # a = a % 3 と同じ |
比較演算子
| 演算子 | 使用例 | 意味 |
|---|---|---|
| == | a == b | a と b は等しい |
| != | a != b | a と b は等しくない |
| < | a < b | a は b よりも小さい(bを含まない:未満) |
| > | a > b | a は b よりも大きい(bを含まない:超過) |
| <= | a <= b | a は b よりも小さいか等しい(bを含む:以下) |
| >= | a >= b | a は b よりも大きいか等しい(bを含む:以上) |
論理演算子
| 演算子 | 使用例 | 意味 |
|---|---|---|
| and | a == b and c == d | aとbが等しい かつ cとdが等しい |
| or | a == b or c == d | aとbが等しい または cとdが等しい |
| not | not a | a が True なら False、 a が False なら True |
例:四則演算 +α
a = 20 b = 10 print(a + b) # 足し算(結果:30) print(a - b) # 引き算(結果:10) print(a * b) # 掛け算(結果:200) print(a / b) # 割り算(結果:2.0) print(a % b) # 余り算(結果:0) print(a ** b) # べき乗--aのb乗(結果:10240000000000)
順次
上から順番に処理が実行されていく
a = 100 b = 50 print(a + b) # 結果:150
条件分岐
IF文
if 条件式:
条件式が真(True)の時に実行する処理
例:xが10の時、xの値を出力する
x = 10
if x == 10:
print(x)
# 結果:10
IF-ELSE文
if 条件式:
条件式が真(True)の時に実行する処理
else:
条件式が偽(False)の時に実行する処理
例:xが10の時、xの値を出力する。10じゃない時は、「違います」と出力する。
x = 2
if x == 10:
print(x)
else:
print('違います')
# 結果:違います
IF-ELIF-ELSE文
if 条件式1:
条件式1が真の時に実行する処理
elif 条件式2:
条件式1が偽で条件式2が真の時に実行する処理
else:
すべての条件式が偽のときに実行する処理
例:xが5以下の時、「xは5以下です」xが10以下の時、「xは10以下です」それ以外の時、「xは10より大きいです」と出力する
x = 6
if x <= 5:
print('xは5以下です')
elif x <= 10:
print('xは10以下です')
else:
print('xは10より大きいです')
# 結果:xは10以下です
何もしないブロックを作る(pass)
x = 10
if x == 10:
pass
else:
print('違います')
# 結果:
# (passなので何も表示されない)
反復処理(繰り返し)
For文とWhile文の使い分け・・・
For文は決められた回数だけループさせる
While文は条件式が真の間だけループさせる
っていう解釈で合ってるのかな・・・?
While文
while 条件式:
条件式が真の時に繰り返す実行したい処理
# iが3以下の時に文字を出力
i = 1
while i <= 3:
print(str(i) + '回目')
i = i + 1
"""
結果:
1回目
2回目
3回目
"""
上記を分解してみる。
i = 1 # 変数 i の初期値は 1
while i <= 3: # i=1ということは、i は 3以下なので条件式は 「真(True)」だから下記を実行する
print(str(i) + '回目') # 「1回目」と出力される
i = i + 1 # iに1を足す。i=1なので1+1=2となり、2をiに代入する。(i=2になる)
# 繰り返し判定に戻る
while i <= 3: # i=2ということは、i は 3以下なので条件式は「真(True)」だから下記を実行する
print(str(i) + '回目') # 「2回目」と出力される
i = i + 1 # iに1を足す。i=2なので2+1=3となり、3をiに代入する。(i=3になる)
# 繰り返し判定に戻る
while i <= 3: # i=3ということは、i は 3以下なので条件式は「真(True)」だから下記を実行する
print(str(i) + '回目') # 「3回目」と出力される
i = i + 1 # iに1を足す。i=3なので3+1=4となり、4をiに代入する。(i=4になる)
# 繰り返し判定に戻る
while i <= 3: # i=4ということは、i は 3より大きいので条件式は「偽(False)」だから中身は実行せずにwhile文を終了する
For文
for 変数 in 繰り返しの範囲:
実行したい処理
繰り返しの範囲をリストにした例
colors = ['red', 'blue', 'pink']
for val in colors:
print(val)
"""
結果:
red
blue
pink
"""
上記を分解してみる。
colors = ['red', 'blue', 'pink'] # リストを定義して colors という変数に代入する
for val in colors: # colorsから1つ取り出して val という変数に代入(val='red')
print(val) # val=redなので「red」が出力される
# 繰り返し
for val in colors: # colorsから1つ取り出して val という変数に代入(val='blue')
print(val) # val=blueなので「blue」が出力される
# 繰り返し
for val in colors: # colorsから1つ取り出して val という変数に代入(val='pink')
print(val) # val=pinkなので「pink」が出力される
# colorsから全て取り出したので、繰り返し終了
繰り返しの範囲をrange()関数にした例
for i in range(3):
print(i)
"""
結果:
0
1
2
"""
Break文で繰り返し処理を強制終了
while文やfor文の繰り返し処理の中で使用
Breakで強制的に繰り返しから抜ける
i = 1
while i <= 5:
if i == 3:
break
print(i)
i = i + 1
"""
結果:
1
2
"""
上記を分解してみる。
i = 1 # 変数 i に 1 を代入
while i <= 5: # i=1ということは、i は 5以下なので条件式は 「真(True)」だから下記を実行する
if i == 3: # i==1だから条件式に当てはまらないのでif文は飛ばす
break # if文の処理は飛ばす
print(i) # i=1なので「1を出力」
i = i + 1 # iに1を足す。i=1なので1+1=2となり、2をiに代入する。(i=2になる)
# 繰り返し判定に戻る
while i <= 5: # i=2ということは、i は 5以下なので条件式は 「真(True)」だから下記を実行する
if i == 3: # i==2だから条件式に当てはまらないのでif文は飛ばす
break # if文の処理は飛ばす
print(i) # i=2なので「2を出力」
i = i + 1 # iに1を足す。i=2なので2+1=3となり、3をiに代入する。(i=3になる)
# 繰り返し判定に戻る
while i <= 5: # i=3ということは、i は 5以下なので条件式は 「真(True)」だから下記を実行する
if i == 3: # i==3で条件式に当てはまるのでif文内を実行
break # breakなのでこれより下の処理は実行せずに、ループを強制終了する。
print(i) # 実行されない
i = i + 1 # 実行されない
# ループ終了
Continue文で繰り返し処理のスキップ
while文やfor文の繰り返し処理の中で使用
Continueでループの先頭に戻る
i = 0
while i < 3:
i = i + 1
if i == 2:
continue
print(i)
"""
結果:
1
3
"""
上記を分解してみる。
i = 0 # 変数 i に 0 を代入
while i < 3: # i=0ということは、i は 3未満なので条件式は 「真(True)」だから下記を実行する
i = i + 1 # iに1を足す。i=0なので0+1=1となり、1をiに代入する。(i=1になる)
if i == 2: # i==1だから条件式に当てはまらないのでif文は飛ばす
continue # if文の処理は飛ばす
print(i) # i=1なので「1を出力」
# 繰り返し判定に戻る
while i < 3: # i=1ということは、i は 3未満なので条件式は 「真(True)」だから下記を実行する
i = i + 1 # iに1を足す。i=1なので1+1=2となり、2をiに代入する。(i=2になる)
if i == 2: # i==2で条件式に当てはまるのでif文内を実行
continue # continueなのでこれより下の処理は実行せずに、繰り返し判定に戻る
print(i) # 実行されない
# 繰り返し判定に戻る
while i < 3: # i=2ということは、i は 3未満なので条件式は 「真(True)」だから下記を実行する
i = i + 1 # iに1を足す。i=2なので2+1=3となり、3をiに代入する。(i=3になる)
if i == 2: # i==3だから条件式に当てはまらないのでif文は飛ばす
continue # if文の処理は飛ばす
print(i) # i=3なので「3を出力」
# 繰り返し判定に戻る
while i < 3: # i=3ということは、i は 3未満ではないので条件式は 「偽(False)」だから中身は実行せずにwhile文を終了する
i = i + 1 # 実行されない
if i == 2: # 実行されない
continue # 実行されない
print(i) # 実行されない
# ループ終了
range()関数
一定間隔で数字を呼び出す関数
引数が1つの場合 – range(引数)
【0 から 引数-1】 までの数字を呼び出す。
range(5)の場合、【0~4】を呼び出す。
つまり、0,1,2,3,4が呼び出される。
for i in range(5):
print(i)
"""
結果:
0
1
2
3
4
"""
引数が2つの場合 – range(第1引数,第2引数)
【第1引数の数字 から 第2引数-1】 までの数字を呼び出す。
range(2,5)の場合、第1引数の 2 から、第2引数の5から1を引いた 4 まで、【2~4】を呼び出す。
つまり、2,3,4が呼び出される。
for i in range(2,5):
print(i)
"""
結果:
2
3
4
"""
引数が3つの場合 – range(第1引数,第2引数,第3引数)
range(始まりの数字,終わりの数字-1,加算する数)
第2引数までは引数が2つの場合と同じ役割。
第3引数でいくつずつ増やすか決める。
range(1,8,2)の場合、第1引数の 1 から始まり、第2引数の8から1を引いた 7 までの数を、第3引数で指定した2つずつ加算していく。
【1~7を2ずつ加算しながら】呼び出す。
for i in range(1,8,2):
print(i)
"""
結果:
1
3
5
7
"""
第3引数に負の数を入れると、逆順になる。
for i in range(3,0,-1):
print(i)
"""
結果:
3
2
1
"""
