Pythonを書いている中で1行がとても長くなることがあります。
PEP8では1行の文字数は最大79文字としてあり、バックスラッシュなどでコード内改行をすることになると思います。
ただ、バックスラッシュを使うとその後のインデントはどうするのとか、コードが見づらくなるとか、コートが汚くなる原因となることがあります。
今回は改行が必要となる状況ごとに、バックスラッシュを使わずに丸括弧を使った美しい改行方法をまとめます。
演算子の接続
value = (
long_long_long_long_long_long_long_long_value
+ long_long_long_long_long_long_long_long_value
+ long_long_long_long_long_long_long_long_value
)
演算子の位置を最初にするか最後にするかは終始統一されればどちらでも
文字列の接続
value = (
'long_long_long_long_long_long_long_long_value'
'long_long_long_long_long_long_long_long_value'
'long_long_long_long_long_long_long_long_value'
)
文字列の接続には演算子不要(変数でなければ)
listの定義
values = [
long_long_long_long_long_long_long_long_value,
long_long_long_long_long_long_long_long_value,
long_long_long_long_long_long_long_long_value,
]
values = [
value, value, value, value, value,
value, value, value, value, value,
value, value, value, value, value,
]
set、tupleも同様
dictの定義
values = {
'one': long_long_long_long_long_long_long_long_value1,
'two': long_long_long_long_long_long_long_long_value2,
'three': long_long_long_long_long_long_long_long_value3,
}
関数の定義
def function(
long_int: int = 12345,
long_float: float = 1.23456,
long_string: str = 'hoge',
) -> int:
return 0
関数の呼び出し
function(
long_int=123456789,
long_float=1.23456789,
long_string='hogehogehogehoge',
)
メソッドチェーン
value = (
pd.DataFrame(
[[1,2,3], [4,5,6]],
columns=['one', 'two', 'three'],
)
.drop_duplicates(keep='first')
.sort_values('one')
.reset_index(drop=True)
)