Từ Style Guide for Python Code:
Cách ưa thích của gói đường dài là sử dụng tiếp tục dòng ngụ ý của Python bên trong dấu ngoặc đơn, dấu ngoặc và dấu ngoặc. Các đường dài có thể được chia nhỏ trên nhiều dòng bằng cách gói các biểu thức trong dấu ngoặc đơn. Chúng nên được sử dụng tùy theo việc sử dụng dấu gạch chéo ngược để tiếp tục dòng.
Các dấu gạch chéo ngược đôi khi vẫn có thể thích hợp. Ví dụ: dài, nhiều câu lệnh có thể không sử dụng tiếp tục ngầm, do đó, các dấu gạch chéo ngược có thể chấp nhận được:
with open('/path/to/some/file/you/want/to/read') as file_1, \
open('/path/to/some/file/being/written', 'w') as file_2:
file_2.write(file_1.read())
Một trường hợp như vậy là với câu khẳng định.
Đảm bảo thụt lề dòng liên tục một cách thích hợp. Địa điểm ưa thích để giải quyết xung quanh toán tử nhị phân là sau toán tử, không phải trước toán tử đó. Một số ví dụ:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if (width == 0 and height == 0 and
color == 'red' and emphasis == 'strong' or
highlight > 100):
raise ValueError("sorry, you lose")
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError("I don't think so -- values are %s, %s" %
(width, height))
Blob.__init__(self, width, height,
color, emphasis, highlight)
EDIT: PEP8 nay khuyến cáo các ngược lại ước (đối với vi phạm trong hoạt động nhị phân) được sử dụng bởi nhà toán học và nhà xuất bản của họ để cải thiện khả năng đọc.
Kiểu phá hủy của Donald Knuth trước toán tử nhị phân căn chỉnh các toán tử theo chiều dọc, do đó giảm khối lượng công việc của mắt khi xác định mục nào được cộng và trừ.
Từ PEP8: Should a line break before or after a binary operator?:
Donald Knuth giải thích các quy tắc truyền thống trong máy tính của mình và hàng loạt sắp chữ: "Mặc dù công thức trong một đoạn văn luôn luôn phá vỡ sau khi hoạt động nhị phân và các mối quan hệ, hiển thị công thức luôn luôn phá vỡ trước khi hoạt động nhị phân" [3 ].
Tiếp nối truyền thống từ toán học thường dẫn đến mã dễ đọc hơn:
# Yes: easy to match operators with operands
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
Trong mã Python, nó được phép để phá vỡ trước hoặc sau khi một nhà điều hành nhị phân, miễn là quy ước phù hợp tại địa phương. Đối với mã mới, kiểu Knuth được đề xuất.
[3]: Các TeXBook Donald Knuth, trang 195 và 196
Trên thực tế, bạn có sở thích hướng dẫn phong cách của chính xác về phía sau.Tiếp tục ngầm được ưu tiên, dấu gạch chéo ngược rõ ràng chỉ được sử dụng nếu cần. –
Tôi nghĩ rằng nó nói rằng nếu bạn có dấu ngoặc xung quanh một biểu thức đã có, sử dụng chúng, nhưng không đặt dấu ngoặc xung quanh một biểu thức chỉ với mục đích phá vỡ nó trên nhiều dòng. Không có quy tắc cứng và nhanh nào. Tôi nghĩ rằng cho dòng trong câu hỏi mặc dù, một dấu gạch chéo ngược là con đường để đi. –
Điều đó không chính xác. Vui lòng chỉnh sửa câu trả lời của bạn để phản ánh những gì hướng dẫn về phong cách thực sự nói, thay vì nói ngược lại. –