Jacob Hallén đã từng quan sát thấy kiểu Python tốt nhất sau khi loại bỏ trang trí của Tufte không phải là ngôn ngữ lập trình, nhưng hiển thị thông tin trực quan): không lãng phí "mực" (pixel) hoặc "giấy" (không gian) để trang trí đơn giản. Rất nhiều sau nguyên tắc này: không có dấu ngoặc đơn thừa, không có dấu chấm phẩy, không có "hộp ascii" ngớ ngẩn trong bình luận và docstrings, không có không gian lãng phí để "sắp xếp" mọi thứ trên các hàng khác nhau, trích dẫn đơn trừ khi bạn cần báo giá gấp đôi, không \ để tiếp tục các dòng trừ khi bắt buộc, không có ý kiến nào chỉ nhắc nhở người đọc về các quy tắc của ngôn ngữ (nếu người đọc không biết ngôn ngữ bạn đang gặp khó khăn ;-), v.v.
Tôi nên chỉ ra rằng một số hậu quả của "tinh thần Tufte của Python" gây nhiều tranh cãi hơn những người khác, trong cộng đồng Python. Nhưng ngôn ngữ chắc chắn tôn trọng "Tufte's Spirit" khá tốt ...
Chuyển sang "gây tranh cãi hơn" (nhưng bị xử phạt bởi Zen của Python - import this
tại dấu nhắc thông dịch viên): "phẳng hơn lồng nhau", vì vậy "nhận ra ngay sau khi hợp lý" hơn là làm tổ.Hãy để tôi giải thích:
if foo:
return bar
else:
baz = fie(fum)
return baz + blab
này không phải là khủng khiếp, nhưng không phải là nó tối ưu: từ "trở lại" `` được ra khỏi '', bạn có thể lưu làm tổ:
if foo:
return bar
baz = fie(fum)
return baz + blab
Một ví dụ sắc nét :
for item in container:
if interesting(item):
dothis(item)
dothat(item)
theother(item)
rằng khối lớn là đôi lồng nhau là không gọn gàng ... xem xét phong cách phẳng:
for item in container:
if not interesting(item):
continue
dothis(item)
dothat(item)
theother(item)
BTW, và một dành đó không phải là đặc biệt của phong cách Python độc quyền - một trong những Peeves vật cưng của tôi (trong bất kỳ ngôn ngữ, nhưng trong Thần Python Tufte ủng hộ tôi ;-):
if not something:
this()
that()
theother()
else:
blih()
bluh()
blah()
"nếu không muốn nói. .. else "is contorted! Hoán đổi hai nửa và mất các số not
:
if something:
blih()
bluh()
blah()
else:
this()
that()
theother()
Tôi chính xác có cùng một câu hỏi trong tâm trí :) – Snehal
giữ một tâm trí cởi mở ... python theo bản chất được cho là có thể đọc được ... nó sẽ rõ ràng bằng cách hiểu một số khái niệm như cắt, lambdas, trang trí, vv – Perpetualcoder