Шаг 1.
Однострочники Python.
Для чего нужно изучать однострочники?

Шаги базируются на книге:
Майер Кристиан - Однострочники Python: лаконичный и содержательный код. - СПб.: Питер, 2022. - 256 с.

    На этом шаге мы рассмотрим, что такое однострочники и чем полезно их изучение.

    Материал этих шагов поможет вам стать настоящим экспертом по языку Python. Для этого мы сосредоточимся на написании однострочников: лаконичных, удобных программ, занимающих всего одну строку кода на Python. Благодаря им вы сможете писать и читать код на Python быстрее и лучше разберетесь в этом языке.

    Кроме того, можно назвать еще пять причин, по которым однострочники Python помогут вам повысить эффективность работы и заслуживают изучения.

    Во-первых, совершенствуя свои базовые навыки работы с языком Python, вы сможете побороть множество мешающих вам мелких недостатков, присущих многим программистам. Не имея досконального понимания основ, сложно двигаться дальше. Отдельные строки кода - основные "кирпичики" любой программы. Понимание этих "кирпичиков" помогает не растеряться и по-настоящему овладеть более сложными концепциями.

    Во-вторых, вы научитесь использовать на все 100% чрезвычайно популярные библиотеки Python, например, предназначенные для науки о данных (data science) и машинного обучения. Здесь мы рассмотрим различные аспекты Python, от регулярных выражений до машинного обучения. Подобный подход позволяет рассмотреть широкий диапазон возможных приложений Python, а также научить использовать богатые возможности этих библиотек.

    В-третьих, вы научитесь писать код в стиле Python. Начинающие программисты на Python, особенно работавшие ранее с другими языками программирования, зачастую пишут код в несвойственном Python стиле. Мы рассмотрим такие присущие Python понятия, как списковое включение, множественное присваивание и срезы. Вы научитесь писать удобочитаемый код, который сможете использовать совместно с другими программистами, работающими в этой сфере.

    В-четвертых, изучение однострочников Python придает мысли ясность и лаконичность. Когда на счету каждый символ, нет места маловразумительному и бессистемному написанию кода.

    В-пятых, новые навыки написания однострочников дадут вам возможность разобраться в переусложненных базах кода Python, а также произвести впечатление как на друзей, так и на будущих работодателей при собеседовании. Решать сложные программистские задачи с помощью одной строки кода интересно. И вы не одиноки: онлайн-сообщество энтузиастов Python постоянно соревнуется, кто создаст самые лаконичные и близкие стилю Python решения разнообразных практических (и не совсем практических) задач.

    Рассмотрим один однострочник Python. Не волнуйтесь, если не совсем понимаете, что в нем происходит. Мы в дальнейшем вернемся к нему.

q = lambda l: q((1)[x for x in l[1:] if x <= l[0]]) + 
    [l[0]] + q([x for x in l if x > l[0]]) if l else []

    Этот однострочник - изящный лаконичный пример выражения известного алгоритма быстрой сортировки (Quicksort), хотя начинающим и не слишком опытным программистам на Python будет непросто уловить его смысл.


Она же сортировка Хоара.

    В основе однострочников Python часто лежат другие однострочники, так что сложность рассматриваемых однострочников будет расти. Мы начнем с простых однострочников, которые далее станут основой для других, более сложных. Например, предыдущий однострочник для быстрой сортировки - сложный и длинный, но в его основе лежит более простая идея спискового включения (1). Вот более простое списковое включение, предназначенное для создания списка квадратов чисел:

  lst = [x ** 2 for x in range(10)]

    Можно разбить этот однострочник на еще более простые, чтобы познакомиться с важнейшими базовыми понятиями Python, например присваиванием переменных, математическими операторами, структурами данных, циклами for, операторами принадлежности и функцией range(), - и все это в одной строке!

    Учтите, что базовые не значит тривиальные. Все однострочники, о которых мы будем говорить, полезны, и каждый раздел посвящена какой-либо отдельной сфере или дисциплине компьютерных наук, что позволяет продемонстрировать весь спектр возможностей Python.

    Со следующего шага мы повспоминаем основные конструкции языка Python.




Содержание Следующий шаг