📌 Холивар: одна строка — одно действие
В сообществе Python-программистов давно спорят: как лучше оформлять код — разбивать каждое действие на отдельную строку или использовать методные цепочки?
— Улучшает читаемость
— Упрощает отладку
— Позволяет легко комментировать каждое действие
— Делает git diff
и blame
более наглядными
Пример:
df = df.dropna()
df = df[df["age"] > 18]
df = df.sort_values("score", ascending=False)
df = df.reset_index(drop=True)
— Более выразителен, особенно при работе с данными
— Помогает избежать временных переменных
— Позволяет видеть весь «путь трансформации» объекта в одном месте
— Хорошо работает с API вроде pandas, SQLAlchemy, Fluent-style интерфейсами
Пример:
df = (
df.dropna()
[df["age"] > 18]
.sort_values("score", ascending=False)
.reset_index(drop=True)
)
⚠️ Но где проходит граница между выразительностью и нечитаемым монолитом?
Приводите примеры, делитесь опытом — обсудим!
Библиотека питониста #междусобойчик