Найти тему
MakeBetter[Code] Blog

Что такое "Питонический"

Оглавление

В этой статье мы рассмотрим, что такое Pythonic и как использовать этот подход в вашем Python-коде.

"Pythonic" в представлении neuralblender.com | CC-BY
"Pythonic" в представлении neuralblender.com | CC-BY

Так что такое питонический?

Питоническая программа - это короткий, чистый и простой для понимания код. Стиль программирования, который помогает вам смотреть на свой код так, как его видит конечный пользователь. Взглянув на ваш код, они смогут понять логику в считанные секунды.

Допустим, у вас есть следующий код:

-2

Это простой пример кода, который выглядит довольно питонически. Он хорошо читается, его легко понять, и он хорошо выглядит. Он не вызывает ощущения, что вы плохой программист, и именно поэтому он считается питоническим.

Однако, представим, что вы написали такой код:

-3

Так, этот код тоже работает, но выглядит он крайне неприятно. Он не похож на правильный код. Он похож на то, что можно было бы увидеть в программе на C/C++, и по этой причине это не питонический код.

А вот пример хорошей питонической функции

-4

Эта функция является питонической, поскольку она короткая, выразительная и не содержит избыточного или постороннего кода. Код также следует конвенции именования PEP-8 и не использует глобальных переменных или функций. Легко понять, что эта функция делает, ее легко тестировать и использовать повторно. А если вам нужно обработать много данных, вы можете довольно просто использовать с этой функцией библиотеку multiprocessing.

Итак, вот список вещей, которые вам следует применять на практике:

  • Питонический код должен быть ясным, чистым и коротким.
  • Используйте подходящие структуры данных: списки, словари, кортежи и т.д.
  • Не пишите длинных выражений.
  • Используйте доступные инструменты, такие как декораторы, генераторы, свойства и т.д.
  • Аккуратно используйте пробелы.
  • Сведите к минимуму использование комментариев.

И, напоследок, небольшое замечание по поводу употребления комментариев:

Комментируйте не то, ЧТО вы делаете, а то, ПОЧЕМУ вы это делаете.
О ЧЕМ позаботится чистый, читабельный и понятный код с правильным выбором имен переменных. Комментарии показывают более высокий уровень структуры кода, который не может быть показан (или его трудно показать) самим кодом.
Via https://stackoverflow.com/a/390817