Python で型と初期値を指定する関数の引数2020年08月11日 13時06分21秒

Python でも Python 3.5 から typing にて関数の戻り値や引数に型を記述する事ができるようになった。ただ、アノーテーションの様にヒントの意味合いが強いようで、異った型を渡してもエラーにはならない様である。

関数に型を指定するとこの様な形を取る。

def 関数名( 引数名: 引数型 = 初期値 ) -> 戻り型:
オプション的な記述の仕方をするとこうなる。
def 関数名( [ 引数名 [: 引数型 ] [ = 初期値 ] ] ) [ -> 戻り型 ]:
そんな事で以下の様な形がとれるわけだ。
def 関数名( 引数名: 引数型 ) -> 戻り型:
def 関数名( 引数名 = 初期値 ) -> 戻り型:
def 関数名( 引数名 ) -> 戻り型:

実際の利用例。

def twice(val: int = 1) -> int:
    return 2 * val