...

Основы программирования: введение в язык Python

Python. Введение в программирование

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

Выбор Python обусловлен такими его преимуществами как ясность кода и быстрота реализации на нем программ.

Курс включает 25 уроков в основной части + 8 уроков в дополнительной.

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

Текущая версия курса: март 2023 г.

Вы можете приобрести pdf-версию курса с ответами и пояснениями к практическим работам, а также дополнительными уроками – “Генераторы списков”, “Матрицы”, “Множества”, “Особенности работы операторов and и or в Python”, “Lambda-выражения”, “Сортировка списков”, “Фильтрация списков”, “Функция zip”.

Уроки курса в кратком изложении на YouTube.

Программа курса

  1. Краткая история языков программирования История программирования в кратком и понятном изложении. Что такое машинный язык, почему появились ассемблеры, языки высокого уровня и объектно-ориентированные. Зачем нужен транслятор, и почему он может быть либо компилятором, либо интерпретатором.
  2. Знакомство с Python Особенности языка Python, работа в интерактивном режиме и подготовка файлов с исходным кодом.
  3. PyCharm Community. Основы работы Установка и настройка PyCharm Community, создание проекта, настройка интерпретатора и другие особенности работы в интегрированной среде разработки.
  4. Типы данных. Переменные Базовые типы данных в Python: целое, вещественное числа, строки. Изменение типа данных с помощью встроенных функций. Понятие об операциях и переменных. Присваивание значения переменной.
  5. Ввод и вывод данных Для вывода на экран в Python 3.x используется функция print(). Вывод может быть предварительно отформатирован. Для ввода данных с клавиатуры используется функция input(), которая возвращает в программу строку.
  6. Логические выражения и операторы Логические выражения. Логические операторы языка Python: == (равно), != (не равно), (больше), = (больше или равно), and (логическое И), or (логическое ИЛИ), not (отрицание).
  7. Ветвление. Условный оператор Ветвление в Python реализуется с помощью условный оператора if-else. Ветка if выполняется если условие верно, необязательная ветка else – в остальных случаях.
  8. Ошибки и исключения. Обработка исключений Общее представление об ошибках и исключениях в языке программирования Python. SyntaxError, NameError, TypeError, ValueError, ZeroDivisionError. Обработка исключений с помощью инструкции try-except.
  9. Множественное ветвление: if-elif-else. Оператор match в Python Оператор множественного ветвления Python позволяет организовать более двух веток выполнения программы без вложенных условных операторов. Конструкция включает одну ветку if, произвольное количество elif и необязательную ветку else. В Python 3.10 также появился оператор match.
  10. Циклы в программировании. Цикл while С помощью циклов в программировании организуется многократное следующее друг за другом выполнение одних и тех же участков кода. Бывают циклы с условием и со счетчиком. К первым относится цикл while, или цикл “пока”.
  11. Функции в программировании Функции – важный элемент структурного программирования. Они позволяют обособить участок кода, выполняющий определенную задачу. В дальнейшем к нему можно обращаться из разных мест программы по имени, которым он назван. В языке Python функции определяются с помощью оператора def.
  12. Локальные и глобальные переменные В программировании важное значение имеет представление о локальных и глобальных переменных. Локальные переменные существуют внутри функций и не доступны за ее пределами. Глобальные переменные видны во всей программе.
  13. Возврат значений из функции. Оператор return С помощью оператора return можно вернуть значение из тела функции в основную программу. В языке программирования Python можно вернуть несколько значений, перечислив их через запятую после оператора return. Также в функции может быть несколько return, но всегда выполняется только один из них.
  14. Параметры и аргументы функции Если функция имеет параметры, то при вызове в нее можно передавать данные в виде аргументов-значений или аргументов-ссылок. Параметры перечисляются в заголовке функции в скобках после имени, представляют собой локальные переменные. В Python тип параметров не указывается, хотя в других языках это может быть обязательным требованием.
  15. Встроенные функции Язык программирования Python включает множество встроенных функций. В предыдущих уроках мы использовали такие функции как print() и input(), а также функции преобразования типов данных. В этом уроке рассматриваются встроенные функции для работы с символами и числами.
  16. Модули Использование модулей в программировании позволяет изолировать код, выполняющий частные задачи, в отдельные файлы. После чего обращаться к нему из разных программ. Создание модулей – следующий шаг после функций, когда участок кода обособляется внутри одного файла-программы. Для языка Python есть множество встроенных и сторонних модулей.
  17. “Случайные” числа – random, randint, randrange Для генерации псевдослучайных чисел в языке программирования Python используются функции модуля random. Функция random() генерирует вещественное число от 0 до 1. Функции randint() и randrange() производят целые псевдослучайные числа в указанных диапазонах.
  18. Списки Списки в Python – это аналог массивов в других языках программирования. Однако список может содержать элементы разных типов. В терминологии Python список – это изменяемая упорядоченная структура данных. Можно заменять его элементы, добавлять и удалять их, брать срезы. В язык встроены методы для работы со списками.
  19. Цикл for Цикл for в языке программирования Python предназначен для перебора элементов структур данных (списков, словарей, кортежей, множеств) и многих других объектов. Это не цикл со счетчиком, каковым является for во многих других языках. Нередко цикл for используется совместно с функцией range(), генерирующей объекты-диапазоны.
  20. Функция enumerate Функция enumerate в Python используется для упрощения прохода по коллекциям, например спискам, в цикле, когда кроме самих элементов требуется их индекс. Вызов enumerate возвращает объект-итератор, генерирующий кортежи (индекс, элемент).
  21. Строки В Python строки – это неизменяемые последовательности символов или подстрок. Из них, так же как из списков, можно извлекать отдельные символы с помощью индексов или подстроки с помощью взятия срезов. В языке Python есть множество встроенных строковых методов, позволяющих упростить обработку строк.
  22. Кортежи Кортежи в Python – это неизменяемые структуры данных, состоящие из элементов одного или разных типов. Кортежи подобны спискам и обычно используются для защиты последних от изменений. Преобразование одного в другой выполняется с помощью встроенных функций tuple() и list().
  23. Словари Словарь в Python – это изменяемая неупорядоченная структура данных, элементами которой являются пары “ключ:значение”. В словари можно добавлять и удалять элементы, изменять значения ключей. В Python словари имеют ряд методов, упрощающих работу с ними.
  24. Файлы В языке программирования Python открытие файлов выполняется с помощью функции open(), которой передается два аргумента – имя файла и режим. Файл может быть открыт в режиме чтения, записи, добавления. Также может быть указан тип файла – текстовый или бинарный. Для файлов есть ряд встроенных методов чтения, записи и др.
  25. Итоги курса “Python. Введение в программирование” В этом курсе были изучены основы структурного программирования, в качестве инструмента использовался язык Python. Были рассмотрены встроенные типы данных, ветвления и циклы, обработчик исключений, функции, работа с модулями. Одной из целей курса является подготовка к изучению объектно-ориентированного программирования.

Примеры решения и дополнительные уроки в pdf-версии курса

X Скрыть Наверх

Python. Введение в программирование

Итоги курса “Python. Введение в программирование”

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

Подводя итоги вспомним и обобщим изученный материал.

В курсе были рассмотрены следующие встроенные типы данных:

  1. int – целые числа
  2. float – числа с плавающей точкой (дробные)
  3. str – строки
  4. list – списки
  5. tuple – кортежи
  6. dict – словари
  7. файловые типы

В Python у модулей и функций также имеется свой тип данных. Хотя их скорее следует рассматривать как важный элемент структурного программирования.

Функции бывают встроенными в язык, из модулей стандартной библиотеки, из сторонних библиотек, а также пользовательскими, то есть определяемыми самим прикладным программистом. То же самое касается и классов (типов данных). Функции, определенные в классах, называются методами.

Функции позволяют разделить программу на логически завершенные части, каждая из которых выполняет свою подзадачу. Организация функций в модули делает их в своем роде мобильными, то есть дает возможность использовать их в других программах и другими людьми.

Существуют две ключевые управляющие конструкции – это ветвление и цикл. В Python ветвление реализуется условным оператором if и его расширенными версиями if-else и if-elif-…-else. В других языках, кроме if , встречается оператор switch-case. Его принято называть не столько условным оператором, сколько переключателем. В Python 3.10 появился оператор match-case, который для простых случаев можно считать аналогом switch.

В Python есть два типа циклов – while и for . В цикле for выполняется перебор элементов структур данных или последовательное извлечение элементов из объектов-итераторов. В Python нет вариации for как цикла со счетчиком. Хотя в языке программирования Java есть обе разновидности for . В ряде других языков цикл for – это исключительно цикл со счетчиком.

В программах могут возникать ошибки и исключительные ситуации, нарушающие нормальный ход выполнения. Программист должен уметь их предусмотреть и внедрить “код-перехватчик”. В Python исключения обрабатываются с помощью оператора try-except, который также следует отнести к управляющим конструкциям. Следует отметить, что в крупных проектах тестированием программ занимаются отдельные люди, которых называют тестерами.

Если вы изучали данный курс с целью подготовки к экзамену по информатике, то следующий этап – это научиться решать задачи по программированию, изучить основные алгоритмы.

Если ваша цель – познакомиться с программированием глубже, возможно стать на путь профессионального программиста, то следующий шаг – это объектно-ориентированное программирование (ООП). Данная парадигма прочно обосновалась и нашла широкое распространение.

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

Примеры решения и дополнительные уроки в pdf-версии курса

X Скрыть Наверх

Python. Введение в программирование

Знакомство с Python

Язык программирования Python был создан к 1991 году голландцем Гвидо ван Россумом.

Свое имя – Пайтон (или Питон) – получил от названия телесериала, а не пресмыкающегося.

После того, как Россум разработал язык, он выложил его в Интернет, где сообщество программистов присоединилось к его улучшению.

Python активно развивается и сейчас. Часто выходят новые версии. Раньше поддерживались две отдельные ветки языка: Python 2.x и Python 3.x. Здесь английской буквой “x” обозначается конкретный релиз. Между вторым и третьим Питоном есть небольшая разница. В настоящее время поддержка Python 2 прекращена.

Особенности языка

Python – интерпретируемый язык программирования. Это значит, что исходный код частями преобразуется в машинный в процессе его чтения специальной программой – интерпретатором.

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

Python – это полноценный во многом универсальный язык программирования, используемый в различных сферах. Основная, но не единственная, поддерживаемая им парадигма, – объектно-ориентированное программирование. Однако в данном курсе мы только упомянем об объектах, а будем изучать структурное программирование, так как оно является базой. Без знания основных типов данных, ветвлений, циклов, функций нет смысла изучать более сложные парадигмы, так как в них все это используется.

Интерпретаторы Python распространяется свободно на основании лицензии подобной GNU General Public License.

Дзен Питона

Если интерпретатору Питона дать команду import this , то выведется так называемый “Дзен Питона”, иллюстрирующий идеологию и особенности данного языка. Понимание смысла этих постулатов в приложении к программированию придет тогда, когда вы освоите язык в полной мере и приобретете опыт практического программирования.

  • Beautiful is better than ugly. Красивое лучше уродливого.
  • Explicit is better than implicit. Явное лучше неявного.
  • Simple is better than complex. Простое лучше сложного.
  • Complex is better than complicated. Сложное лучше усложнённого.
  • Flat is better than nested. Плоское лучше вложенного.
  • Sparse is better than dense. Разрежённое лучше плотного.
  • Readability counts. Удобочитаемость важна.
  • Special cases aren’t special enough to break the rules. Частные случаи не настолько существенны, чтобы нарушать правила.
  • Although practicality beats purity. Однако практичность важнее чистоты.
  • Errors should never pass silently. Ошибки никогда не должны замалчиваться.
  • Unless explicitly silenced. За исключением замалчивания, которое задано явно.
  • In the face of ambiguity, refuse the temptation to guess. Перед лицом неоднозначности сопротивляйтесь искушению угадать.
  • There should be one — and preferably only one — obvious way to do it. Должен существовать один — и, желательно, только один — очевидный способ сделать это.
  • Although that way may not be obvious at first unless you’re Dutch. Хотя он может быть с первого взгляда не очевиден, если ты не голландец.
  • Now is better than never. Сейчас лучше, чем никогда.
  • Although never is often better than *right* now. Однако, никогда чаще лучше, чем прямо сейчас.
  • If the implementation is hard to explain, it’s a bad idea. Если реализацию сложно объяснить — это плохая идея.
  • If the implementation is easy to explain, it may be a good idea. Если реализацию легко объяснить — это может быть хорошая идея.
  • Namespaces are one honking great idea — let’s do more of those! Пространства имён — прекрасная идея, давайте делать их больше!

Как писать программы на Python

Интерактивный режим

Грубо говоря, интерпретатор выполняет команды построчно. Пишешь строку, нажимаешь Enter , интерпретатор выполняет ее, наблюдаешь результат.

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

В операционных системах на базе ядра Linux можно программировать на Python в интерактивном режиме с помощью приложения «Терминал», в котором работает командная оболочка Bash. Здесь, чтобы запустить интерпретатор, надо выполнить команду python3 .

Запуск интерпретатора Python

В данном случае запустилась версия 3.8.5. Первое число 3 указывает на то, что это интерпретатор для языка программирования Python 3. Последняя строка с тремя угловыми скобками ( >>> ) – это приглашение для ввода команд.

Для операционных систем семейства Windows надо скачать интерпретатор с официального сайта языка (https://www.python.org/downloads/windows/). После установки он будет запускаться по ярлыку. Использовать командную оболочку здесь не требуется.

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

Использование Питона в качестве калькулятора

Бывает, что в процессе ввода была допущена ошибка или требуется повторить ранее используемую команду. Чтобы заново не вводить строку, в консоли можно прокручивать историю команд, используя для этого стрелки вверх и вниз на клавиатуре. В среде IDLE (в Windows) для этого используются сочетания клавиш (скорее всего Alt+N и Alt+P ).

Создание скриптов

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

Существует множество сред разработки (IDE), в том числе созданные для программирования почти исключительно на Python. Примером такой среды является PyCharm. Однако на первое время подойдет текстовый редактор с подсветкой синтаксиса, например, Geany.

Программирование на Python в Geany

Здесь создается и сохраняется файл с кодом. Далее его можно запустить на выполнение через терминал. При этом сначала указывается интерпретатор (в данном случае python3 ), потом имя файла (если файл находится в другом каталоге, то указывается с адресом, или надо перейти в этот каталог с помощью команды cd оболочки Bash).

Выполнение скрипта на Python через терминал

При этом в Geany может быть установлен свой встроенный «терминал», что упрощает работу.

Терминал в Geany и запуск скрипта на Python

Также в Geany можно просто нажать F5 , что отправит файл на исполнение (терминал откроется сам, после выполнения программы и нажатия Enter закроется). Однако при этом должен быть правильно настроен вызываемый интерпретатор (пункт меню Сборка → Установить команды сборки ).

В Windows подготовить файлы можно в той же среде IDLE. Для этого в меню следует выбрать команду File → New Window ( Crtl + N ), откроется чистое (без приглашения >>> ) новое окно. Желательно сразу сохранить файл с расширением .py , чтобы появилась подсветка синтаксиса. После того как код будет подготовлен, снова сохраните файл. Запуск скрипта выполняется командой Run → Run Module ( F5 ). После этого в окне интерактивного режима появится результат выполнения кода.

Практическая работа

  1. Запустите интерпретатор Питона в интерактивном режиме. Выполните несколько команд, например, арифметические примеры.
  2. Подготовьте файл с кодом и передайте его на исполнение интерпретатору. Обратите внимание, что если просто записать арифметику, то никакого вывода не последует. Вы увидите пустоту. Это отличается от интерактивного режима. Чтобы увидеть решение, надо “обернуть” пример в функцию print() .

Примеры решения и дополнительные уроки в pdf-версии курса

X Скрыть Наверх

Python. Введение в программирование

При подготовке материала использовались источники:
https://younglinux.info/python/course
https://younglinux.info/python/programming
https://younglinux.info/python/introductionpython