PEP8で指摘される「1行が長すぎる」問題に対処するには、いくつかの方法があります。具体例を交えて紹介します。
1. 括弧を使った複数行への分割
長い関数呼び出しや条件文を括弧で囲み、複数行に分割します。
# 修正前
result = some_long_function_name(first_parameter, second_parameter, third_parameter, fourth_parameter)
# 修正後
result = some_long_function_name(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter
)
2. 演算子の後での改行
長い算術式や論理式を演算子の後で改行します。
# 修正前
total_sum = item1_price + item2_price + item3_price + item4_price + item5_price + tax_amount
# 修正後
total_sum = (
item1_price +
item2_price +
item3_price +
item4_price +
item5_price +
tax_amount
)
3. リスト内包表記の分割
長いリスト内包表記を複数行に分割します。
# 修正前
squared_numbers = [x**2 for x in range(100) if x % 2 == 0 and x % 3 == 0]
# 修正後
squared_numbers = [
x**2
for x in range(100)
if x % 2 == 0 and x % 3 == 0
]
4. 文字列の連結
長い文字列を複数行に分割します。
# 修正前
long_message = "This is a very long message that exceeds the recommended line length limit of 79 characters according to PEP8."
# 修正後
long_message = (
"This is a very long message that exceeds "
"the recommended line length limit of 79 "
"characters according to PEP8."
)
5. 変数名の短縮
場合によっては、長い変数名を短くすることで行の長さを減らせます。ただし、可読性を損なわないよう注意が必要です。
# 修正前
total_number_of_items_in_shopping_cart = calculate_total_items(shopping_cart)
# 修正後
total_items = calculate_total_items(shopping_cart)
これらの方法を適切に組み合わせることで、PEP8の推奨する行の長さ(79文字または99文字)を守りつつ、コードの可読性を維持できます[1][2][3]。ただし、チームの合意があれば99文字まで緩和することも可能です。重要なのは一貫性を保ちつつ、コードの理解しやすさを優先することです。