Tôi cố gắng và giữ mã của mình trong phạm vi 80 ký tự để dễ dàng nhìn thấy cạnh nhau trong cửa sổ chuẩn mà tôi đã thiết lập. Bằng cách này, tôi có một v2.7 Python xây dựng như thế này:Tránh các dòng mã dài bằng Python
subseq_id_to_intervals_dict, subseq_id_to_ccid_formats_dict, subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Vì vậy, tôi đã phá vỡ nó lên như thế này:
subseq_id_to_intervals_dict,
subseq_id_to_ccid_formats_dict,
subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Nhưng điều đó gây ra lỗi
NameError: name 'subseq_id_to_intervals_dict' is not defined
Cho đến khi tôi thêm dấu gạch chéo ngược:
subseq_id_to_intervals_dict, \
subseq_id_to_ccid_formats_dict, \
subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Tại sao có phải là dấu phẩy ở cuối dòng không thông báo cho Python đầy đủ để hiểu cú pháp và không nhận được lỗi không? Có cách nào sạch hơn để làm điều này mà không có dấu gạch chéo ngược?
Cách ưa thích theo PEP8 là thêm dấu ngoặc đơn và sử dụng dòng tiếp tục ngụ ý. – geoffspear
Đừng quên rằng 'foo,' là một câu lệnh hoàn chỉnh (nó là một bộ tuple với một phần tử đơn). Bạn có thể đặt dấu ngoặc đơn xung quanh LHS như @DavidRobinson đã gợi ý. Vì lý do đó, Python sẽ trở nên mơ hồ nếu nó cho phép bạn tách một đường bằng cách sử dụng dấu phẩy theo cách đó (bạn có nghĩa là một phần tử tuple hoặc tôi nên xử lý nhiều hơn?) – FatalError