Ответ
Дзен Python (The Zen of Python, PEP 20) — это набор из 19 философских принципов, которые лежат в основе дизайна языка Python. Они служат руководством для написания чистого, читаемого и поддерживаемого кода. Увидеть их можно, выполнив команду import this
в интерпретаторе Python.
Ключевые принципы:
Beautiful is better than ugly.
(Красивое лучше, чем уродливое) — Код должен быть элегантным и эстетичным.Explicit is better than implicit.
(Явное лучше, чем неявное) — Поведение кода должно быть очевидным, без скрытых побочных эффектов.Simple is better than complex.
(Простое лучше, чем сложное) — Всегда следует искать наиболее простое решение задачи.Readability counts.
(Читаемость имеет значение) — Код читают гораздо чаще, чем пишут, поэтому его понятность — приоритет.
Пример следования Дзену:
Сравним два подхода к функции, удваивающей числа в списке.
# Не в духе Дзена: неявно изменяет исходный объект (side-effect)
def double_numbers_inplace(numbers_list):
for i, n in enumerate(numbers_list):
numbers_list[i] = n * 2
data = [1, 2, 3]
double_numbers_inplace(data) # Теперь data = [2, 4, 6]
# В духе Дзена: явно возвращает новый объект, не меняя старый
def double_numbers_explicit(numbers_list):
return [n * 2 for n in numbers_list]
data = [1, 2, 3]
new_data = double_numbers_explicit(data) # data остался [1, 2, 3]
Второй подход предпочтительнее, так как он более предсказуем и не имеет скрытых побочных эффектов, что полностью соответствует принципу "Явное лучше, чем неявное".