環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Pythonの関数で型を指定する:引数と返り値の型を指定しても、指定外の型も一応処理する

最終更新日 2022.11.20

Python の関数は引数と返り値の型を指定できます。下は型指定のないコードです。

def calc(a):
    return a + 1


b = calc(1)

print(b)  # 2

型を指定するには、変数の後にコロンを続けます。

def calc(a: int):
    return a + 1


b = calc(1)

print(b)  # 2

a: int とすると calc は整数のみを受けつけるようになります…と言いたいところですが、実はそうではありません。

def calc(a: int):
    return a + 1


b = calc(1.6)

print(b)  # 2.6

このコードはエラーが起きていません。ただし PyCharm などの開発環境は次のように表示します。

Python プログラムそのものはエラーを出さず、小数もきちんと処理します。

返り値の型を指定する

def calc(a: int) -> int:
    return a + 1


b = calc(3)

print(b)  # 4

返り値の型を指定するには矢印をコロンの前につけます。この場合も小数をきちんと受けつけます。

def calc(a: int) -> int:
    return a + 1


b = calc(3.8)

print(b)  # 4.8

Python の型チェックは厳密でなく、「型に合わないものは処理しない」わけでありません。