Python3.8 純粋位置引数速報


Python3.8 純粋位置引数速報

概要

Python3.8で、関数定義の際に、
純粋位置引数(Positional-only arguments)を定義する文法が実装されました。
純粋位置引数にする引数たちの最後に、/を付け加えます。

これにより、単に関数にデータを与えたいだけで、
データの性質について変数名での注釈をつけたくない場合、
そのことを関数定義で明示できます。

コード例

new_version_sumの2回目の呼び出しでは、
純粋位置引数に名前付き呼び出しを行っています。
Python3.8ではこれはエラーになります。

def old_version_sum(
    x : float, 
    y : float
) -> float:
    return x + y
    
def new_version_sum(
    x : float, 
    y : float,
    /
) -> float:
    return x + y
    
if __name__ == "__main__":
    print(old_version_sum(10, 4))
    print(old_version_sum(x = 10, y = 4))
    
    print(new_version_sum(10, 4))
    print(new_version_sum(x = 10, y = 4))

実行結果

実際に画面表示の4行目にエラーが表示されました。

参照

  1. 公式サイトダウンロード
  • このエントリーをはてなブックマークに追加

PAGE TOP