PyQサポートのkamekoです。今日は、関数呼び出し時のキーワード引数の書き方について解説します。
質問
PEP8のクエストを消化した際に 「=の前後にスペースを入れる」とあったと思うのですが、以下のようなファイルを開くコードは このルールに当てはまらないのですが、これは何か理由があるのでしょうか。
with open('input/sales_row', encoding='utf-8') as f:
回答
通常の「=」の前後はスペースを入れるのですが、関数呼出し時にキーワード引数を指定する場合は「=」の前後にスペースを入れずに書きます。
引用: PEP 8 -- Style Guide for Python Code
Don't use spaces around the = sign when used to indicate a keyword argument, or when used to indicate a default value for an unannotated function parameter.
(キーワード引数を指定する場合、関数定義時にデフォルト引数を指定する場合は「=」の前後にスペースは使いません。)
PEP8の書き方:
def complex(real, imag=0.0): return magic(r=real, i=imag)
PEP8に則していない書き方:
def complex(real, imag = 0.0): return magic(r = real, i = imag)