Python Contents
Python Contents
net/publication/349833726
CITATIONS READS
0 46,730
1 author:
Oleksii Vasyliev
Taras Shevchenko National University of Kyiv
179 PUBLICATIONS 175 CITATIONS
SEE PROFILE
All content following this page was uploaded by Oleksii Vasyliev on 06 March 2021.
Васильев, Алексей.
В19 Программирование на Python в примерах и задачах / Алексей Ва-
сильев. — Москва : Эксмо, 2021. — 616 с. — (Российский компьютер-
ный бестселлер).
ISBN 978-5-04-103199-2
Сегодня существует много разных языков программирования. Некоторые из них
популярны, а некоторые — не очень. Обычно популярность языка определяют по коли-
честву программистов, которые используют его в своей работе на постоянной основе,
или по запросам работодателей, которые ищут сотрудников-программистов. Долгие
годы традиционно популярными являются языки программирования Java, C++, C#,
JavaScript и PHP. В последнее время в этой великолепной компании все чаще упоми-
нается язык программирования Python. Даже больше — по некоторым опросам язык
Python уже занимает лидирующие позиции. Именно этому языку посвящена книга.
УДК 004.438
ББК 32.973.26-018.1
Научно-популярное издание
Васильев Алексей
ПРИСОЕДИНЯЙТЕСЬ К НАМ!
3
Оглавление
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 169
Глава 4. Множества и словари . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Знакомство с множествами . . . . . . . . . . . . . . . . . . . . . . . . . 171
Операции с множествами . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Примеры использования множеств . . . . . . . . . . . . . . . . . . . . 186
Знакомство со словарями . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Операции со словарями . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 209
Глава 5. Работа с текстом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Текстовые литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Основные операции с текстом . . . . . . . . . . . . . . . . . . . . . . . 226
Методы для работы с текстом . . . . . . . . . . . . . . . . . . . . . . . . 230
Примеры работы с текстом . . . . . . . . . . . . . . . . . . . . . . . . . 242
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 248
Глава 6. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Объявление и вызов функции . . . . . . . . . . . . . . . . . . . . . . . 250
Именованные аргументы функции . . . . . . . . . . . . . . . . . . . . 261
Механизм передачи аргументов . . . . . . . . . . . . . . . . . . . . . . 262
Значения аргументов по умолчанию . . . . . . . . . . . . . . . . . . . 266
Функции с произвольным количеством аргументов . . . . . . . . . 270
Локальные и глобальные переменные . . . . . . . . . . . . . . . . . . 274
Вложенные функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Лямбда-функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Функция как аргумент и результат . . . . . . . . . . . . . . . . . . . . 282
Рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Декораторы функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Функции-генераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Аннотации и документирование в функциях . . . . . . . . . . . . . . 297
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 303
Глава 7. Файлы и данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Числовые данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Логические значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Дата и время . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Работа с файлами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 345
Глава 8. Классы и объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Концепция классов и объектов . . . . . . . . . . . . . . . . . . . . . . . 347
Описание классов и создание объектов . . . . . . . . . . . . . . . . . . 350
4
Оглавление
Язык Python
Обо мне придумано столько небылиц, что
я устаю их опровергать.
Из к/ф «Формула любви»
Тенденции таковы, что даже если язык Python и не является самым по-
пулярным на сегодня, то все равно нет сомнений в том, что масштабы
его применения постоянно растут. Соответственно, увеличивается спрос
на программистов, работающих с языком Python. Такая возрастающая
популярность языка во многом объясняется его простотой, красотой
и эффективностью. Спектр задач, решаемых с использованием Python,
довольно внушителен. Поэтому изучение Python — выбор вполне разум-
ный и многообещающий.
6
Книга о языке программирования Python
i НА ЗАМЕТКУ
Языки программирования бывают интерпретируемыми и компилируе-
мыми. Если программа компилируется, то на основе исходного кода
создается исполнительный (машинный) код, который и выполняется
при запуске программы. Если речь идет об интерпретируемом языке,
то программа, написанная на нем, выполняется построчно, без пред-
варительной компиляции. Существует и промежуточный вариант —
нечто среднее между компилированием и интерпретированием. В та-
ком случае исходный код программы преобразуется в промежуточный
код, который уже затем интерпретируется при выполнении.
Интерпретируемые языки позволяют больше вольности в описании
и обработке данных. Программы, написанные на компилируемых язы-
ках, характеризуются относительно высокой скоростью выполнения.
i НА ЗАМЕТКУ
Концепция ООП, реализуемая в языке Python, может стать сюрпри-
зом для читателей, знакомых с такими языками программирования,
как Java, С++ и C#. Напротив, те, кто знаком с языком JavaScript, об-
наружат для себя некоторые знакомые моменты.
7
Вступление
Особенности книги
Пацак пацака не обманывает. Это некрасиво,
родной…
Из к/ф «Кин-дза-дза»
Структура книги такова, что в первой главе дается краткий обзор ос-
новных синтаксических конструкций языка Python. Это позволит чи-
тателю практически сразу, еще до завершения чтения книги, присту-
пить к созданию несложных, но вполне функциональных программных
8
Книга о языке программирования Python
i НА ЗАМЕТКУ
Материал от главы к главе усложняется постепенно. Некоторые важ-
ные моменты достаточно часто повторяются (в разном контексте),
особенно в начальных главах. Иногда одни и те же (или похожие) за-
дачи решаются разными методами. Все это сделано намеренно. Цель
простая — облегчить процесс усвоения информации и сформировать
основы для понимания принципов программирования в Python.
Программное обеспечение
Показывай свою гравицапу. Если фирменная
вещь — возьмем!
Из к/ф «Кин-дза-дза»
9
Вступление
i НА ЗАМЕТКУ
Помимо расширения .py файлы с Python-программами могут иметь
расширение .pyw, если мы имеем дело с программами, в которых
используется графический интерфейс (в операционной системе
Windows). У файлов, связанных с Python-проектами, могут быть и дру-
гие расширения. Например расширение .pyc имеют файлы со ском-
пилированным промежуточным кодом (файлы с байт-кодом). Опти-
мизированный байт-код сохраняется в файле с расширением .pyo,
а расширение.pyd используется для файлов с бинарным кодом дина-
мических dll-библиотек в операционной системе Windows.
10
Книга о языке программирования Python
11
Вступление
i НА ЗАМЕТКУ
Методы работы со средой IDLE, равно как и с другими средами раз-
работки, кратко описываются в первой главе.
i НА ЗАМЕТКУ
Обычно среды разработки устанавливаются без интерпретатора, по-
этому рекомендуется сначала установить интерпретатор (например,
загрузив файлы с сайта www.python.org), а уже после этого устанав-
ливать среду разработки. В таком случае настройки среды, связанные
с интерпретатором, скорее всего, будут выполнены автоматически.
12
Книга о языке программирования Python
13
Вступление
i НА ЗАМЕТКУ
Поскольку страница поддержки среды PyScripter время от времени
меняет свой адрес, то перед загрузкой установочных файлов стоит
предварительно уточнить актуальный адрес для загрузки.
i НА ЗАМЕТКУ
Ситуация со средами разработки довольно изменчива: какие-то
среды становятся популярными, другие отходят на второй план.
Поэтому следует понимать, что перечень доступных или предпочти-
тельных сред разработки, приведенный выше, достаточно услов-
ный. Читатель вполне может использовать и иную среду.
14
Книга о языке программирования Python
Об авторе
Товарищ, там человек говорит, что он — ино-
планетянин. Надо что-то делать…
Из к/ф «Кин-дза-дза»
Обратная связь
— Слово лечит, разговор мысль отгоняет… Хо-
тите беседовать, сударь?
— О чем?
— О чем прикажете.
Из к/ф «Формула любви»
Благодарности
Вельми понеже… Весьма вами благодарен!
Из к/ф «Иван Васильевич меняет профессию»