python programming tutorial pdf free download
Сегодня существует много разных языков программирования. Некоторые из них популярны, а некоторые — не очень. Обычно популярность языка определяют по количеству программистов, которые используют его в своей работе на постоянной основе, или по запросам работодателей, которые ищут сотрудников-программистов. Долгие годы традиционно популярными являются языки программирования Java, C++, C#, JavaScript и PHP. В последнее время в этой великолепной компании все чаще упоминается язык программирования Python. Даже больше — по некоторым опросам язык Python уже занимает лидирующие позиции. Именно этому языку посвящена книга.


Figures - uploaded by Alex Vasilev
Author content
All figure content in this area was uploaded by Alex Vasilev
Content may be subject to copyright.
Discover the world's research
- 20+ million members
- 135+ million publications
- 700k+ research projects
Join for free
УДК 004.438
ББК 32.973.26-018.1
В19
Васильев, Алексей.
Программирование на Python в примерах и задачах / Алексей Ва-
сильев. — Москва : Эксмо, 2021. — 616 с. — (Российский компьютер-
ный бестселлер).
ISBN 978-5-04-103199-2
Сегодня существует много разных языков программирования. Некоторые из них
популярны, а некоторые — не очень. Обычно популярность языка определяют по коли-
честву программистов, которые используют его в своей работе на постоянной основе,
или по запросам работодателей, которые ищут сотрудников-программистов. Долгие
годы традиционно популярными являются языки программирования Java, C++, C#,
JavaScript и PHP. В последнее время в этой великолепной компании все чаще упоми-
нается язык программирования Python. Даже больше — по некоторым опросам язык
Python уже занимает лидирующие позиции. Именно этому языку посвящена книга.
УДК 004.438
ББК 32.973.26-018.1
В19
ISBN 978-5-04-103199-2
© Васильев А.Н., текст, 2021
© Оформление. ООО «Издательство «Эксмо», 2021
Все права защищены. Книга или любая ее часть не может быть скопирована, воспроизведена в
электронной или механической форме, в виде фотокопии, записи в память ЭВМ, репродукции
или каким-либо иным способом, а также использована в любой информационной системе без
получения разрешения от издателя. Копирование, воспроизведение и иное использование книги
или ее части без согласия издателя является незаконным и влечет уголовную, административную
и гражданскую ответственность.
Научно-популярное издание
ÐÎÑÑÈÉÑÊÈÉ ÊÎÌÏÜÞÒÅÐÍÛÉ ÁÅÑÒÑÅËËÅÐ
Васильев Алексей
ПРОГРАММИРОВАНИЕ НА PYTHON В ПРИМЕРАХ И ЗАДАЧАХ
Главный редактор Р. Фасхутдинов
Руководитель направления В. Обручев
Ответственный редактор Е. Горанская
Литературный редактор С. Ульянов
Младший редактор Ю. Клюшина
Художественный редактор В. Брагина
Компьютерная верстка Э. Брегис
Корректоры Р. Болдинова, А. Баскакова
Страна происхождения: Российская Федерация
Шыарылан елі: Ресей Федерациясы
Дата изготовления / Подписано в печать 05.11.2020. Формат 70x1001 /16.
Печать офсетная. Усл. печ. л. 49,91.
Тираж экз. Заказ
12+
ООО «Издательство «Эксмо»
123308, Россия, город Москва, улица Зорге, дом 1, строение 1, этаж 20, каб. 2013.
Тел.: 8 (495) 411-68-86.
Home page: www.eksmo.ru E-mail: info@eksmo.ru
ндіруші: «ЭКСМО» АБ Баспасы,
123308, Ресей, ала Мскеу, Зорге кшесі, 1 й, 1 имарат, 20 абат, офис 2013 ж.
Тел.: 8 (495) 411-68-86.
Home page: www.eksmo.ru E-mail: info@eksmo.ru.
Тауар белгісі: «Эксмо»
Интернет-магазин : www.book24.ru
Интернет-магазин : www.book24.kz
Интернет-д#кен : www.book24.kz
Импортёр в Республику Казахстан ТОО «РДЦ-Алматы».
азастан Республикасындаы импорттаушы «РДЦ-Алматы» ЖШС.
Дистрибьютор и представитель по приему претензий на продукцию,
в Республике Казахстан: ТОО «РДЦ-Алматы»
азастан Республикасында дистрибьютор жне нім бойынша арыз-талаптарды
абылдаушыны кілі «РДЦ-Алматы» ЖШС,
Алматы ., Домбровский кш., 3«а», литер Б, офис 1.
Тел.: 8 (727) 251-59-90/91/92; E-mail: RDC-Almaty@eksmo.kz
німні жарамдылы мерзімі шектелмеген.
Сертификация туралы апарат сайтта: www.eksmo.ru/certifi cation
Сведения о подтверждении соответствия издания согласно законодательству РФ
о техническом регулировании можно получить на сайте Издательства «Эксмо»
www.eksmo.ru/certifi cation
ндірген мемлекет: Ресей. Сертификация арастырылмаан
ПРИСОЕДИНЯЙТЕСЬ К НАМ!
bomborabooks bombora
bombora.ru
МЫ В СОЦСЕТЯХ:
БОМБОРА – лидер на рынке полезных
и вдохновляющих книг. Мы любим книги
и создаем их, чтобы вы могли творить,
открывать мир, пробовать новое, расти.
Быть счастливыми. Быть на волне.
3
ОГЛАВЛЕНИЕ
Вступление. Книга о языке программирования Python . . . . . . . . . . . . 6
Язык Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Особенности книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Программное обеспечение . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Обратная связь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Глава 1. Знакомство с Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Первая программа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Использование различных сред разработки . . . . . . . . . . . . . . . . 22
Среда разработки PyCharm . . . . . . . . . . . . . . . . . . . . . . . . 23
Среда разработки Wing . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Среда разработки PyScripter . . . . . . . . . . . . . . . . . . . . . . . . 33
Знакомство с переменными . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Ввод значения в программу . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Функция eval() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Знакомство со списками . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Знакомство с условным оператором . . . . . . . . . . . . . . . . . . . . . 56
Знакомство с оператором цикла . . . . . . . . . . . . . . . . . . . . . . . 59
Знакомство с функциями . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . . 69
Глава 2. Основные операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Оператор цикла while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Оператор цикла for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Условный оператор if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Тернарный оператор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Обработка исключительных ситуаций . . . . . . . . . . . . . . . . . . 108
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 122
Глава 3. Списки и кортежи . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Знакомство с кортежами . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Основные операции со списками и кортежами . . . . . . . . . . . . . 130
Создание выборки на основе списков и кортежей . . . . . . . . . . . 139
Вложенные списки и кортежи . . . . . . . . . . . . . . . . . . . . . . . 147
Копирование списков и кортежей . . . . . . . . . . . . . . . . . . . . . 153
Функции и методы для работы со списками . . . . . . . . . . . . . . . 158
Оглавление
4
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Оглавление
Конструкторы и деструкторы . . . . . . . . . . . . . . . . . . . . . . . . 358
Объект реализации класса . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Операции с атрибутами классов и объектов . . . . . . . . . . . . . . . 372
Копирование объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Документирование и декораторы . . . . . . . . . . . . . . . . . . . . . 382
Использование классов и объектов . . . . . . . . . . . . . . . . . . . . 388
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 402
Глава 9. Наследование и специальные методы . . . . . . . . . . . . . . . . 405
Знакомство с наследованием . . . . . . . . . . . . . . . . . . . . . . . . 405
Множественное наследование . . . . . . . . . . . . . . . . . . . . . . . 413
Переопределение методов при наследовании . . . . . . . . . . . . . . 417
Приведение типов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Перегрузка операторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Доступ к атрибутам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
Индексирование объектов . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Вызов объекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Итераторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 475
Глава 10. Обработка исключений и потоки . . . . . . . . . . . . . . . . . . 477
Принципы обработки исключений . . . . . . . . . . . . . . . . . . . . 477
Обработка исключений разных типов . . . . . . . . . . . . . . . . . . 483
Использование объекта исключения . . . . . . . . . . . . . . . . . . . 484
Вложенные блоки для обработки исключений . . . . . . . . . . . . . 487
Искусственное генерирование исключений . . . . . . . . . . . . . . . 490
Создание классов исключений . . . . . . . . . . . . . . . . . . . . . . . 494
Использование исключений . . . . . . . . . . . . . . . . . . . . . . . . . 496
Знакомство с потоками . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Взаимодействие потоков . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Примеры использования потоков . . . . . . . . . . . . . . . . . . . . . 527
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 536
Глава 11. Программы с графическим интерфейсом . . . . . . . . . . . . . 538
Создание простого окна . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Окно с меткой и кнопкой . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Использование текстового поля . . . . . . . . . . . . . . . . . . . . . . 543
Раскрывающийся список . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Опции, переключатели и другие компоненты . . . . . . . . . . . . . . 557
Использование меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Работа с графикой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Задания для самостоятельной работы . . . . . . . . . . . . . . . . . . 612
Заключение. Python и программирование . . . . . . . . . . . . . . . . . . 614
6
Вступление
КНИГА О ЯЗЫКЕ
ПРОГРАММИРОВАНИЯ PYTHON
Пошли, Скрипач, в открытый космос.
Из к/ф «Кин-дза-дза»
Сегодня существует много разных языков программирования. Некото-
рые из них популярны, другие не очень. Обычно популярность языка
определяют по количеству программистов, которые на постоянной осно-
ве используют его в своей работе, или по запросам работодателей, ищу-
щих сотрудников-программистов. Долгие годы традиционно популяр-
ными являются языки программирования Java, C++, C#, JavaScript
и PHP. В последнее время в этой великолепной компании все чаще упо-
минается язык программирования Python. Более того, согласно некото-
рым опросам, язык Python уже занимает лидирующие позиции. Именно
ему посвящена эта книга.
Язык Python
Обо мне придумано столько небылиц, что
я устаю их опровергать.
Из к/ф «Формула любви»
Тенденции таковы, что даже если язык Python и не является самым по-
пулярным на сегодня, то все равно нет сомнений в том, что масштабы
его применения постоянно растут. Соответственно, увеличивается спрос
на программистов, работающих с языком Python. Такая возрастающая
популярность языка во многом объясняется его простотой, красотой
и эффективностью. Спектр задач, решаемых с использованием Python,
довольно внушителен. Поэтому изучение Python — выбор вполне разум-
ный и многообещающий.
Книга о языке программирования Python
7
Чем же замечателен Python? Что в нем особенного? Ответы на эти во-
просы не такие уж и простые. Тем более что многое зависит от того, с ка-
ким языком мы будем его сравнивать. Среди наиболее важных характе-
ристик языка Python можно выделить следующие.
• Язык интерпретируемый . При первом запуске программы на выпол-
нение для нее создается промежуточный код. Именно промежуточ-
ный код используется при выполнении программы. Если впослед-
ствии в программу вносятся изменения, то при очередном запуске
программы создается новый промежуточный код.
i НА ЗАМЕТКУ
Языки программирования бывают интерпретируемыми и компилируе-
мыми. Если программа компилируется, то на основе исходного кода
создается исполнительный (машинный) код, который и выполняется
при запуске программы. Если речь идет об интерпретируемом языке,
то программа, написанная на нем, выполняется построчно, без пред-
варительной компиляции. Существует и промежуточный вариант —
нечто среднее между компилированием и интерпретированием. В та-
ком случае исходный код программы преобразуется в промежуточный
код, который уже затем интерпретируется при выполнении.
Интерпретируемые языки позволяют больше вольности в описании
и обработке данных. Программы, написанные на компилируемых язы-
ках, характеризуются относительно высокой скоростью выполнения.
• В плане синтаксиса язык Python прост и лаконичен. Он не содержит
избыточных конструкций. С другой стороны, язык очень строгий:
даже лишний пробел в программном коде может привести к ошибке.
• Язык Python поддерживает парадигму объектно-ориентированно-
го программирования (ООП). Тем не менее он позволяет создавать
программы, не использующие классы и объекты.
i НА ЗАМЕТКУ
Концепция ООП, реализуемая в языке Python, может стать сюрпри-
зом для читателей, знакомых с такими языками программирования,
как Java, С++ и C#. Напротив, те, кто знаком с языком JavaScript, об-
наружат для себя некоторые знакомые моменты.
• Язык Python удобен для создания приложений с графическим ин-
терфейсом.
Вступление
8
• Еще одним фактором, способствующим популярности языка Python,
является большое и дружное сообщество разработчиков, использую-
щих этот язык. Нет недостатка и в свободно распространяемых про-
граммных продуктах (включая среды разработки), облегчающих
знакомство и использование языка Python.
Выше представлен лишь очень общий и краткий перечень достоинств
и особенностей языка. В детали мы погрузимся в основной части книги,
когда будем рассматривать конкретные примеры и синтаксические кон-
струкции.
Особенности книги
Пацак пацака не обманывает. Это некрасиво,
родной…
Из к/ф «Кин-дза-дза»
Цель этой книги — научить читателя программировать на языке Python.
Но учиться можно по-разному. Скажем, можно слушать лекции в уни-
верситете, можно посещать курсы по программированию, а можно пы-
таться научиться самостоятельно. Последний вариант — самый труд-
ный, поскольку обычно рядом нет советчика, который мог бы подсказать
или объяснить сложный момент. Вот именно для этого «сложного» слу-
чая в первую очередь и предназначена книга. Понятно, что совсем ис-
ключить «крутые повороты» при «прокладке маршрута» по изучению
языка Python не получится. Но мы попытаемся свести к минимуму их
количество.
Опыт показывает, что легче всего усвоить различные концепции про-
граммирования и подходы, когда они проиллюстрированы примерами.
Как раз такая методика использована в этой книге. Принципиальная за-
дача, которая при этом решается, — донести до читателя основную идею,
причем не просто на некотором абстрактном уровне, а на уровне ее при-
кладной реализации с помощью программного кода. Теоретические све-
дения приводятся в объеме минимальном, но вместе с тем достаточном
для качественного усвоения материала.
Структура книги такова, что в первой главе дается краткий обзор ос-
новных синтаксических конструкций языка Python. Это позволит чи-
тателю практически сразу, еще до завершения чтения книги, присту-
пить к созданию несложных, но вполне функциональных программных
Книга о языке программирования Python
9
кодов. Этот прием применялся в книгах, посвященных другим языкам
программирования, и получил неплохие отзывы читателей. Так что есть
основания полагать, что он будет полезен и при изучении языка Python.
Главы после первой посвящены более детальному рассмотрению во-
просов, связанных с эффективным программированием в Python. Сре-
ди рассмотренных тем: работа с данными разных типов, управляющие
инструкции, списки и кортежи, множества и словари, работа с текстом,
создание функций, операции с файлами, работа с классами и объекта-
ми, наследование и специальные методы, обработка исключительных
ситуаций, создание потоков и многое другое. Последняя глава книги
содержит полезную информацию, касающуюся создания приложений
с графическим интерфейсом (с использованием библиотеки Tkinter).
Для удобства усвоения материала каждая глава заканчивается кратким
обобщением, в которое вынесены основные положения, рассмотренные
и обсуждаемые в соответствующей главе. Также каждая глава содержит
список заданий для самостоятельной работы.
i НА ЗАМЕТКУ
Материал от главы к главе усложняется постепенно. Некоторые важ-
ные моменты достаточно часто повторяются (в разном контексте),
особенно в начальных главах. Иногда одни и те же (или похожие) за-
дачи решаются разными методами. Все это сделано намеренно. Цель
простая — облегчить процесс усвоения информации и сформировать
основы для понимания принципов программирования в Python.
Программное обеспечение
Показывай свою гравицапу. Если фирменная
вещь — возьмем!
Из к/ф «Кин-дза-дза»
Для составления программных кодов мало знать язык программиро-
вания (в данном случае Python). Понадобится также определенное
программное обеспечение. Какое именно? Не помешала бы програм-
ма-редактор для набора кода. Хотя собственно программный код мы
можем набирать хоть в текстовом редакторе, вроде Notepad. Для это-
го нам достаточно создать пустой текстовый документ, внести в него
команды в соответствии с правилами языка Python и сохранить файл
Вступление
10
с расширением .py (стандартное расширение для файлов с программами
на языке Python).
i НА ЗАМЕТКУ
Помимо расширения .py файлы с Python-программами могут иметь
расширение .pyw, если мы имеем дело с программами, в которых
используется графический интерфейс (в операционной системе
Windows). У файлов, связанных с Python-проектами, могут быть и дру-
гие расширения. Например расширение .pyc имеют файлы со ском-
пилированным промежуточным кодом (файлы с байт-кодом). Опти-
мизированный байт-код сохраняется в файле с расширением .pyo ,
а расширение.pyd используется для файлов с бинарным кодом дина-
мических dll-библиотек в операционной системе Windows.
Но даже если мы так поступим, этого все же будет недостаточно. Нам
еще как минимум понадобится программа-интерпретатор, которая смо-
жет выполнить команды, написанные на языке Python. Другими сло-
вами, нам понадобится специальная программа, которая сможет понять
код, который мы написали на языке Python, и исполнит этот код. Как от-
мечалось выше, такие программы называются интерпретаторами . По-
этому обойтись совсем без специального программного обеспечения мы
не сможем. А поскольку программное обеспечение все равно придется
устанавливать, то разумно воспользоваться всем спектром возможно-
стей, доступных разработчику на языке Python. Тем более что предла-
гаемые для программирования на Python средства разработки довольно
эффективны и часто бесплатны.
Самый разумный подход при создании программ на языке Python со-
стоит в том, чтобы использовать интегрированную среду разработ-
ки (сокращенно IDE от Integrated Development Environment). Среда раз-
работки — это специальное приложение, которое позволяет набирать,
отлаживать и запускать на выполнение программные коды. Фактиче-
ски среда разработки объединяет в себе сразу несколько программ. Это
очень удобно, поскольку самые разные задачи, начиная с набора кода
и до отладки приложения и запуска его на выполнение, реализуются че-
рез одну универсальную программу. Использовать среду разработки —
разумно и удобно. Поэтому общая рекомендация состоит в том, чтобы
использовать ее. Вопрос лишь, какую именно.
Существует довольно много сред разработки для языка Python. Здесь
мы кратко остановимся лишь на некоторых, наиболее популярных
Книга о языке программирования Python
11
(и бесплатных). Но прежде чем перейти к обсуждению сред разработ-
ки, мы сделаем несколько замечаний относительно всего процесса уста-
новки программного обеспечения, необходимого для программирования
на Python.
В первую очередь необходимо установить программу-интерпретатор
(и некоторые сопутствующие утилиты). Для этого имеет смысл перей-
ти на страницу поддержки языка www.python.org. Эта страница со-
держит много полезной информации. Там, кроме прочего, в разделе за-
грузок Downloads (адрес www.python.org/downloads) можно найти
предназначенное для программирования на Python программное обес-
печение. Веб-страница с ресурсами, предназначенными для загрузки,
представлена на рис. В.1.
Рис. В.1. Страница www.python.org/downloads для загрузки программного
обеспечения для программирования на Python
Следует загрузить соответствующие файлы и выполнить установку. Про-
цесс установки простой и интуитивно понятный, поэтому особых коммен-
тариев не требует и обычно проходит без проблем. Стоит заметить, что
в этом случае автоматически будет установлена и среда разработки, назы-
ваемая IDLE. Это простая и надежная среда, которая вполне подойдет для
эффективной работы с программными кодами на языке Python.
Вступление
12
i НА ЗАМЕТКУ
Методы работы со средой IDLE, равно как и с другими средами раз-
работки, кратко описываются в первой главе.
Если читателя по каким-либо причинам среда IDLE не устроит, можно
воспользоваться другой средой. Благо, выбор достаточно большой.
i НА ЗАМЕТКУ
Обычно среды разработки устанавливаются без интерпретатора, по-
этому рекомендуется сначала установить интерпретатор (например,
загрузив файлы с сайта www.python.org), а уже после этого устанав-
ливать среду разработки. В таком случае настройки среды, связанные
с интерпретатором, скорее всего, будут выполнены автоматически.
Компания JetBrains предлагает для разработчиков на Python среду
разработки, которая называется PyCharm. Информация об этой среде
разработки (а также о других многочисленных разработках компании
JetBrains) представлена на сайте www.jetbrains.com. На рис. В.2
на странице открыт раздел Tools, в котором есть ссылка для загрузки
установочных файлов среды разработки PyCharm.
Рис. В.2. Страница www.jetbrains.com со ссылкой для загрузки установочных
файлов среды разработки PyCharm
Книга о языке программирования Python
13
Процесс установки среды PyCharm достаточно простой. Это удобная
и эффективная среда разработки. Правда, процесс создания приложе-
ний (по сравнению с тем, как это происходит при использовании других
сред) может показаться немного запутанным, хотя это, конечно субъ-
ективное мнение. Вместе с тем среда PyCharm является, на мой взгляд,
оптимальным выбором при работе с Python.
Достаточно удобной и функциональной является среда разработки Wing
(продукт компании Wingware). На рис. В.3 показано окно браузера, в ко-
тором открыта страница www.wingware.com поддержки проекта.
Рис. В.3. Страница www.wingware.com со ссылкой для загрузки установочных
файлов среды разработки Wing
Среда разработки Wing проста в использовании и содержит все ос-
новные утилиты, необходимые для эффективного программирования
на Python.
Наконец, стоит упомянуть среду разработки PyScripter. На рис. В.4
показано окно браузера, открытое на странице с адресом
http://sourceforge.net/projects/pyscripter/.
Это страница ресурса SourceForge, с помощью которого можно загру-
зить последнюю версию среды разработки PyScripter.
Вступление
14
Рис. В.4. Страница sourceforge.net/projects/pyscripter/ со ссылкой
для загрузки установочных файлов среды разработки PyScripter
i НА ЗАМЕТКУ
Поскольку страница поддержки среды PyScripter время от времени
меняет свой адрес, то перед загрузкой установочных файлов стоит
предварительно уточнить актуальный адрес для загрузки.
Характеризуя ситуацию в целом, стоит заметить, что большинство сред
разработки предоставляют пользователю практически одинаковый «на-
бор услуг». По крайней мере на начальном этапе, когда читатель только
будет знакомиться с языком программирования Python, нет принципи-
альной разницы в том, какую именно среду разработки использовать.
Это скорее вопрос эстетики, а не эффективности.
i НА ЗАМЕТКУ
Ситуация со средами разработки довольно изменчива: какие-то
среды становятся популярными, другие отходят на второй план.
Поэтому следует понимать, что перечень доступных или предпочти-
тельных сред разработки, приведенный выше, достаточно услов-
ный. Читатель вполне может использовать и иную среду.
Книга о языке программирования Python
Об авторе
Товарищ, там человек говорит, что он — ино-
планетянин. Надо что-то делать…
Из к/ф «Кин-дза-дза»
Автор книги — Васильев Алексей Николаевич, доктор физико-математи-
ческих наук, профессор кафедры теоретической физики физического
факультета Киевского национального университета имени Тараса Шев-
ченко. Автор книг по программированию и математическому модели-
рованию. Сфера его научных интересов: физика жидкостей и жидких
кристаллов, фазовые переходы и критические явления, биофизика, си-
нергетика, математическая экономика, моделирование социально-поли-
тических процессов и математическая лингвистика.
Обратная связь
— Слово лечит, разговор мысль отгоняет… Хо-
тите беседовать, сударь?
— О чем?
— О чем прикажете.
Из к/ф «Формула любви»
Высказать свои замечания и предложения относительно этой и дру-
гих книг автора можно по адресу электронной почты alex@vasilev.
kiev.ua. Автор заранее благодарен своим читателям за конструктив-
ную критику. Информацию об уже вышедших книгах, а также некоторые
полезные материалы, касающиеся этих книг (например, программные
коды примеров), можно найти на сайте www.vasilev.kiev.ua.
Благодарности
Вельми понеже… Весьма вами благодарен!
Из к/ф «Иван Васильевич меняет профессию»
Книги пишутся для того, чтобы их читали. Лучший стимул — осознание
того, что твой труд кому-то нужен. Пользуясь случаем, хочу выразить
самую искреннюю благодарность своим читателям: за интерес к книгам,
за критические замечания, за желание становиться лучше и умнее.
ResearchGate has not been able to resolve any citations for this publication.
ResearchGate has not been able to resolve any references for this publication.
Posted by: sheriethornsburye0194955.blogspot.com
Source: https://www.researchgate.net/publication/349833726_Programmirovanie_na_Python_v_primerah_i_zadacah
Post a Comment for "python programming tutorial pdf free download"