Главная страница
Навигация по странице:

  • Майер Кристиан

  • Оглавление Об авторе .......................................................................................... 10О научном редакторе

  • Введение ........................................................................................... 14

  • Послесловие ....................................................................................250 Моей жене Анне Об авторе

  • О научном редакторе Даниэль Зингаро

  • Благодарности

  • однострочники пайтон. Однострочники Python лаконичный и содержательный код by Кристи. Однострочники


    Скачать 4.44 Mb.
    НазваниеОднострочники
    Анкороднострочники пайтон
    Дата22.04.2022
    Размер4.44 Mb.
    Формат файлаpdf
    Имя файлаОднострочники Python лаконичный и содержательный код by Кристи.pdf
    ТипКнига
    #490720
    страница1 из 21
      1   2   3   4   5   6   7   8   9   ...   21

    К Р И С Т И А Н М А Й Е Р
    2022
    Л А К О Н И Ч Н Ы Й И С О Д Е Р Ж А Т Е Л Ь Н Ы Й К О Д
    ОДНОСТРОЧНИКИ
    PYTHON

    ББК 32.973.2-018.1
    УДК 004.43
    М14
    Майер Кристиан
    М14 Однострочники Python: лаконичный и содержательный код. — СПб.: Питер,
    2022. — 256 с.: ил. — (Серия «Библиотека программиста»).
    ISBN 978-5-4461-2966-9
    Краткость — сестра программиста. Эта книга научит вас читать и писать лаконичные и функ- циональные однострочники. Вы сможете системно разбирать и понимать код на Python, а также писать выразительно и компактно, как настоящий эксперт.
    Здесь вы найдете приемы и хитрости написания кода, регулярные выражения, примеры ис- пользования однострочников в различных сферах, а также полезные алгоритмы. Подробные пояснения касаются в том числе и важнейших понятий computer science, что поможет вашему росту в программировании и аналитике.
    16+
    (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
    ББК 32.973.2-018.1
    УДК 004.43
    Права на издание получены по соглашению с No Starch Press. Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.
    Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. Издательство не несет ответственности за доступ- ность материалов, ссылки на которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на интернет-ресурсы были действующими.
    ISBN 978-1718500501 англ.
    © 2020 by Christian Mayer.
    Python One-Liners: Write Concise, Eloquent Python Like a Professional,
    ISBN 9781718500501, published by No Starch Press Inc. 245 8th Street,
    San Francisco, California United States 94103
    ISBN 978-5-4461-2966-9
    © Перевод на русский язык ООО Издательство «Питер», 2022
    © Издание на русском языке, оформление ООО Издательство
    «Питер», 2022
    © Серия «Библиотека программиста», 2022

    Оглавление
    Об авторе ..........................................................................................10
    О научном редакторе ................................................................................................11
    Благодарности .................................................................................. 12
    Введение ........................................................................................... 14
    Пример однострочника Python...............................................................................15
    Примечание относительно удобочитаемости ..................................................16
    Для кого эта книга ..................................................................................................... 17
    Чему книга вас научит..............................................................................................18
    Источники дополнительной информации в интернете ................................. 19
    От издательства ......................................................................................................... 20
    Глава 1. Краткая памятка по Python .......................................................................21
    Основные структуры данных .................................................................................. 21
    Контейнерные структуры данных ........................................................................ 27
    Управляющие конструкции ...................................................................................... 35
    Функции .........................................................................................................................38
    Лямбда-функции ......................................................................................................... 39
    Итоги главы .................................................................................................................. 39
    Глава 2. Трюки Python ...................................................................................................41
    Поиск самых высокооплачиваемых работников с помощью спискового включения ...............................................................................................42

    6
    Оглавление
    Поиск информативных слов с помощью спискового включения ..............45
    Чтение файла ...............................................................................................................47
    Лямбда-функции и функция map .........................................................................49
    Извлечение окружения вхождений подстрок с помощью срезов ............ 52
    Сочетание спискового включения и срезов .....................................................56
    Исправление испорченных списков с помощью присваивания срезам ................................................................................................58
    Анализ данных о сердечной деятельности с помощью конкатенации списков ...............................................................................................61
    Поиск компаний, платящих меньше минимальной зарплаты, с помощью выражений-генераторов ...................................................................64
    Форматирование баз данных с помощью функции zi p() ...........................66
    Итоги главы .................................................................................................................. 69
    Глава 3. Наука о данных .............................................................................................71
    Простейшие операции с двумерными массивами ........................................ 72
    Работа с массивами NumPy: срезы, транслирование и типы массивов ......................................................................................................... 77
    Обнаружение аномальных значений с помощью условного поиска по массиву, фильтрации и транслирования ......................................86
    Фильтрация двумерных массивов с помощью булева доступа по индексу ..................................................................................................................... 91
    Очистка каждого i-го элемента массива с помощью транслирования, присваивания срезу и изменения формы .......................94
    Когда использовать в NumPy функцию sort(), а когда

    argsort() ........ 99
    Создание расширенных фильтров массивов с помощью статистических показателей, а также математических и логических операций .......................................................................................... 106
    Простейший анализ ассоциаций: купившие товар X покупают и товар Y ...................................................................................................................... 112
    Поиск лучше всего продающихся наборов с помощью промежуточного анализа ассоциаций .............................................................. 115
    Итоги главы ................................................................................................................. 118

    Оглавление
    7
    Глава 4. Машинное обучение ................................................................................. 120
    Основы машинного обучения с учителем ...................................................... 120
    Линейная регрессия ................................................................................................. 122
    Логистическая регрессия в одной строке ....................................................... 130
    Кластеризация методом k-средних в одной строке кода ........................ 137
    Метод k-ближайших соседей в одной строке кода .................................... 143
    Нейросетевой анализ в одной строке кода ................................................... 148
    Машинное обучение с помощью деревьев принятия решений в одной строке кода ............................................................................................... 158
    Получение строки с минимальной дисперсией в одной строке кода ................................................................................................................. 161
    Основные статистические показатели с помощью одной строки кода ................................................................................................................ 165
    Классификация путем метода опорных векторов с помощью одной строки кода ................................................................................................... 169
    Классификация с помощью случайных лесов в одной строке кода ................................................................................................................ 173
    Итоги главы ................................................................................................................ 178
    Глава 5. Регулярные выражения ............................................................................. 179
    Поиск простых комбинаций символов в строковых значениях .............. 179
    Создание вашего первого веб-скрапера с помощью регулярных выражений ................................................................................................................... 184
    Анализ гиперссылок HTML-документов ........................................................... 188
    Выделение сумм в долларах из строковых значений................................ 192
    Поиск небезопасных HTTP URL ............................................................................ 195
    Проверка формата времени во вводимых пользователем данных, часть 1 ........................................................................................................................... 198
    Проверка формата времени во вводимых пользователем данных, часть 2 ......................................................................................................................... 200
    Поиск удвоенных символов в строковых значениях ...................................202
    Поиск повторов слов .............................................................................................. 205

    8
    Оглавление
    Модификация задаваемых регулярными выражениями шаблонов в многострочном строковом значении ...........................................................207
    Итоги главы ................................................................................................................209
    Глава 6. Алгоритмы .................................................................................................... 210
    Поиск анаграмм с помощью лямбда-функций и сортировки ................. 212
    Поиск палиндромов с помощью лямбда-функций и негативных срезов ........................................................................................................................... 214
    Подсчет количества перестановок с помощью рекурсивных функций вычисления факториалов..................................................................... 216
    Вычисление расстояния Левенштейна ..............................................................220
    Вычисление булеана с помощью функционального программирования ..................................................................................................225
    Реализация шифра Цезаря с помощью расширенного доступа по индексу и спискового включения .................................................................229
    Поиск простых чисел с помощью решета Эратосфена .............................232
    Вычисление последовательности Фибоначчи с помощью функции reduce() ..................................................................................................... 240
    Рекурсивный алгоритм бинарного поиска ..................................................... 242
    Рекурсивный алгоритм быстрой сортировки ................................................. 246
    Итоги главы ............................................................................................................... 249
    Послесловие ....................................................................................250

    Моей жене Анне

    Об авторе
    Кристиан Майер (Christian Mayer) — кандидат компьютерных наук
    (computer science) и создатель популярного сайта https://blog.finxter.com/
    , посвященного языку Python, автор почтовой рассылки о Python, насчиты- вающей более 20 000 активных подписчиков. Его обучающие материалы помогают десяткам тысяч студентов совершенствовать навыки написания кода, а также вести бизнес в интернете. Кроме того, Кристиан — автор серии самиздатовских книг Coffee Break Python.

    О научном редакторе
    Даниэль Зингаро (Daniel Zingaro) — доцент кафедры компьютерных наук и преподаватель Университета Торонто, удостоенный нескольких наград.
    Основная сфера научных интересов Даниэля — обучение компьютерным наукам. Он автор книги Algorithmic Thinking (издательство No Starch Press).

    Благодарности
    Для этого мира важнее не количество книг, а их качество. Я бесконечно бла- годарен сотрудникам издательства No Starch Press, которые во всем следуют данной философии. Эта книга — результат сотен часов их усердной работы, бесценных советов и конструктивных замечаний. Моя глубокая благодар- ность команде No Starch Press, сделавшей написание книг столь приятным занятием.
    В частности, я хотел бы поблагодарить Билла Поллока (Bill Pollock), кото- рый предложил мне написать эту книгу: он вдохновил меня и рассказал все об издательском деле.
    Я очень благодарен моему замечательному редактору Лиз Чедвик (Liz
    Chadwick), которая готовила рукопись к печати и искусно, настойчиво и изящ но придала моим наброскам намного более удобочитаемый вид.
    Именно благодаря ее помощи книга достигла того уровня ясности изложе- ния, который казался мне изначально недостижимым.
    Хотел бы выразить признательность Алекс Фрид (Alex Freed) за неустан- ное стремление повысить качество текста. Для меня было честью работать с таким талантливым редактором.
    Благодарю и моего выпускающего редактора Жанель Людовайз (Janelle
    Ludowise), которая с энтузиазмом и позитивным настроем доводила эту книгу до совершенства. Спасибо, Жанель. Огромное спасибо также Касси
    Андреадис (Kassie Andreadis).
    Особая благодарность профессору Даниэлю Зингаро (Daniel Zingaro), не пожалевшему изрядной толики своего времени для устранения всех неточ- ностей в этой книге. Кроме того, благодаря множеству его ценных замечаний изложение в ней обрело ясность. Без его усилий она не только была бы полна

    Благодарности
    13
    ошибок, но и читалась бы намного тяжелее. В то же время все оставшиеся ошибки — исключительно на моей совести.
    Мой научный руководитель профессор Розермель также косвенно поуча- ствовал в написании этой книги, посвятив немало своего времени, умений и усилий обучению меня компьютерным наукам. Я очень благодарен и при- знателен ему.
    Огромное спасибо моей прекрасной жене Анне Альтимире, внимательно вы- слушивающей, поощряющей и поддерживающей даже самые сумасшедшие мои идеи. Я благодарен также моим детям, Амалии и Гэбриелу, вдохновля- ющим меня своей любознательностью.
    Наконец, наибольшим источником мотивации для меня стали активные участники сообщества Finxter. Прежде всего книга предназначена для амбициозных программистов вроде вас, желающих улучшить навыки на- писания кода и решить какие-либо практические задачи в реальном мире.
    После долгих дней работы было так приятно получать письма от участников
    Finxter с благодарностями, вдохновлявшими меня на написание дальнейших частей книги.

    Введение
    Данная книга поможет вам стать настоящим экспертом по языку Python.
    Для этого мы сосредоточимся на написании однострочников: лаконичных, удобных программ, занимающих всего одну строку кода на Python. Благо- даря им вы сможете писать и читать код на Python быстрее и лучше раз- беретесь в этом языке.
    Кроме того, я насчитал еще пять причин, по которым однострочники Python помогут вам повысить эффективность работы и заслуживают изучения.
    Во-первых, совершенствуя свои базовые навыки работы с языком Python, вы сможете побороть множество мешающих вам мелких недостатков, при- сущих многим программистам. Не имея досконального понимания основ, сложно двигаться дальше. Отдельные строки кода — основные «кирпичики» любой программы. Понимание этих «кирпичиков» помогает не растеряться и по-настоящему овладеть более сложными концепциями.
    Во-вторых, вы научитесь использовать на все 100 % чрезвычайно популяр- ные библиотеки Python, например, предназначенные для науки о данных
    (data science) и машинного обучения. Эта книга состоит из шести глав, посвященных различным аспектам Python, от регулярных выражений до машинного обучения. Подобный подход позволяет рассмотреть широкий диапазон возможных приложений Python, а также научить читателя ис- пользовать богатые возможности этих библиотек.
    В-третьих, вы научитесь писать код в стиле Python. Начинающие про- граммисты на Python, особенно работавшие ранее с другими языками про- граммирования, зачастую пишут код в несвойственном Python стиле. Мы рассмотрим такие присущие Python понятия, как списковое включение, множественное присваивание и срезы. Вы научитесь писать удобочитаемый код, который сможете использовать совместно с другими программистами, работающими в этой сфере.

    Пример однострочника Python
    15
    В-четвертых, изучение однострочников Python придает мысли ясность и ла- коничность. Когда на счету каждый символ, нет места маловразумительному и бессистемному написанию кода.
    В-пятых, новые навыки написания однострочников дадут вам возможность разобраться в переусложненных базах кода Python, а также произвести впе- чатление как на друзей, так и на будущих работодателей при собеседовании.
    Решать сложные программистские задачи с помощью одной строки кода интересно. И вы не одиноки: онлайн-сообщество энтузиастов Python посто- янно соревнуется, кто создаст самые лаконичные и близкие стилю Python решения разнообразных практических (и не совсем практических) задач.
      1   2   3   4   5   6   7   8   9   ...   21


    написать администратору сайта