Đây là một câu hỏi về phong cách (hoặc sở thích) vì thông dịch viên không quan tâm. Cá nhân tôi sẽ cố gắng không đưa ra tuyên bố cuối cùng của hàm trả về giá trị ở mức thụt lề khác với cơ sở hàm. Cái khác trong ví dụ 1 che khuất, nếu chỉ một chút, nơi kết thúc của hàm là.
Theo sở thích tôi sử dụng:
return A+1 if (A > B) else A-1
Vì nó tuân theo cả quy ước tốt là có một câu trả về duy nhất là câu lệnh cuối cùng trong hàm (như đã đề cập) và mô hình lập trình chức năng tốt để tránh kết quả trung gian kiểu bắt buộc.
Đối với các hàm phức tạp hơn, tôi thích chia hàm thành nhiều hàm phụ để tránh trả về sớm nếu có thể. Mặt khác, tôi trở lại sử dụng một biến kiểu bắt buộc được gọi là rval. Tôi cố gắng không sử dụng nhiều câu lệnh return trừ khi hàm này không quan trọng hoặc câu lệnh return trước khi kết thúc là kết quả của một lỗi. Trở về sớm làm nổi bật thực tế là bạn không thể tiếp tục. Đối với các hàm phức tạp được thiết kế để phân nhánh thành nhiều hàm con, tôi cố gắng mã hóa chúng dưới dạng các câu lệnh tình huống (được điều khiển bởi một dict chẳng hạn).
Một số áp phích đã đề cập đến tốc độ hoạt động. Tốc độ thời gian chạy là thứ yếu đối với tôi vì nếu bạn cần tốc độ thực thi thì Python không phải là ngôn ngữ tốt nhất để sử dụng. Tôi sử dụng Python vì hiệu quả của mã hóa (tức là viết mã không có lỗi) quan trọng với tôi.