Описание курса:

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

Знакомство с Python важно не только для специалистов по Python, но и в целом для любого специалиста в области IT. Удачного чтения!

Вопросы для самопроверки:

Сомневаешься, будет ли тебе полезен материал курса, или хочешь убедиться, что усвоил материал курса? Проверь свои знания с помощью вопросов для самопроверки по материалам курса.

  1. Что представляет собой программа?
  2. Какова роль ассемблеров в программировании?
  3. Какое преимущество имеют языки высокого уровня по сравнению с ассемблерами?
  4. В чем заключается основное преимущество объектно-ориентированных языков?
  5. Чем обусловлено разнообразие языков программирования?
  6. Кто является создателем языка программирования Python?
  7. Какие две актуальные ветки Python существуют сегодня?
  8. Какие отличия существуют между интерактивным режимом и созданием скриптов в Python?
  9. Что необходимо сделать, если при запуске интерпретатора в Linux открывается версия Python 2, но вы хотите использовать Python 3?
  10. Каким образом можно запустить файл с кодом Python через терминал?
  11. Какие основные типы данных существуют в Python?
  12. Приведите примеры данных типа int, float и str.
  13. Какая операция выполняется оператором "+" при работе со строками?
  14. Какие встроенные функции в Python помогают с преобразованием типов данных?
  15. Как в Python происходит связывание переменных с данными?
  16. Какие правила нужно соблюдать при создании имен переменных в Python?
  17. Для чего используется функция print() в Python?
  18. Какие типы данных может принимать функция print()?
  19. Как с помощью функции print() можно изменить разделитель между аргументами?
  20. Как работает метод format() при форматировании строк в Python?
  21. Для чего используется функция input() в Python?
  22. Какое значение имеет логический тип данных и как его обозначают в Python?
  23. Какое булевое значение присваивается пустой строке и числу 0 при преобразовании их к логическому типу?
  24. Какие логические операторы существуют в Python для объединения простых выражений?
  25. Как ведет себя оператор and при объединении двух простых логических выражений?
  26. Какие условия необходимы для получения результата True с оператором or?
  27. Объясни отличие операции присваивания от операции сравнения в Python.
  28. Как называется явление, когда выполнение кода зависит от определенных условий?
  29. Как в Python обозначается тело условного оператора?
  30. Что происходит, если условие в заголовке оператора if является ложным?
  31. Как называется конструкция, реализующая ветвление с двумя различными путями исполнения кода?
  32. Почему в Python логическое выражение может состоять из переменной, числа, True или False?
  33. Что такое синтаксическая ошибка в контексте программирования на Python?
  34. Какое исключение возникает при обращении к несуществующей переменной в Python?
  35. Что делает оператор try-except в языке программирования Python?
  36. Какой оператор используется для выполнения кода независимо от того, было ли исключение или нет?
  37. Как можно обрабатывать несколько разных исключений в одном блоке except?
  38. Почему важно указывать тип исключения после ключевого слова except?
  39. Какой значительный недостаток имеет программа, использующая последовательное использование нескольких if операторов?
  40. Как можно улучшить производительность программы для многовариантного ветвления?
  41. В чем заключается основное преимущество использования конструкции elif в Python?
  42. Какова роль циклов в структурном программировании?
  43. Что произойдет, если условие в цикле while изначально ложно?
  44. Как предотвратить бесконечное выполнение цикла while?
  45. Что такое функция в программировании и для чего она используется?
  46. Как определяются функции в языке программирования Python?
  47. Почему в Python функция должна быть объявлена до своего вызова?
  48. Как функции помогают улучшить структуру программы?
  49. Можно ли использовать одну функцию в других программах? Если да, то как?
  50. Что такое локальные переменные и чем они отличаются от глобальных переменных?
  51. Почему возникает ошибка при попытке вывести значение локальной переменной из глобальной области?
  52. Как можно разрешить доступ к глобальной переменной внутри функции?
  53. Почему использование глобальных переменных для изменения их значений внутри функций считается плохой практикой?
  54. Как можно избежать изменения глобальных переменных внутри функций, сохраняя результат вычислений?
  55. Возможен ли вызов вложенной функции из основной программы? Почему?
  56. Какой оператор используется в Python для выхода из функции и передачи данных обратно в программу?
  57. Какой тип данных возвращает функция в случае отсутствия оператора return?
  58. Как осуществляется возврат нескольких значений из функции в Python?
  59. Как называются параметры, используемые в функции, и что происходит с их значениями при вызове функции?
  60. Какие ограничения существуют на количество аргументов и параметров в функции, и как их можно обойти в Python?
  61. Как использовать функцию, которая может принимать произвольное количество аргументов, и какой синтаксис применяется для этого?
  62. Что возвращает функция ord() и какой аргумент она принимает?
  63. Какое действие выполняет функция chr() и какой тип аргумента она принимает?
  64. Для каких структур данных можно использовать функцию len()?
  65. Какое значение возвращает функция abs() и какой тип аргумента она принимает?
  66. Как функция round() может округлять числа и какие параметры она принимает?
  67. Какую задачу выполняет функция max() и что ей нужно для работы?
  68. Для чего используется функция sum() и какой тип аргумента она ожидает?
  69. Какие средства используются в языках программирования для доступа к дополнительным функциям и классам помимо базовой функциональности?
  70. Какую команду необходимо использовать в Python для импорта модуля?
  71. Как можно узнать, какие функции содержит импортированный модуль?
  72. Почему может быть нежелательно использовать импорт всех функций из модуля с помощью "*", и как этого избежать?
  73. Как создать собственный модуль в Python, и как его правильно сохранить, чтобы он был доступен для других программ?
  74. Каким образом можно переименовать импортируемый идентификатор при импорте?
  75. Какой модуль из стандартной библиотеки Python используется для работы с псевдослучайными числами?
  76. Какие функции из модуля random предназначены для генерации псевдослучайных целых чисел?
  77. Каков диапазон, включаемый в функцию randint()?
  78. Чем функция randrange() отличается от функции randint() в отношении включения верхней границы диапазона?
  79. Какие элементы может содержать список в Python?
  80. Как получить доступ к элементу списка по индексу?
  81. Как можно использовать отрицательные индексы в списках?
  82. Объясните, что такое срез в контексте списков и как его можно получить.
  83. Какие методы используются для изменения содержимого списка в Python?
  84. Как добавить элемент в конец списка?
  85. Каким образом можно удалить элемент из списка по значению?
  86. В чем отличие цикла for от цикла while?
  87. Как происходит перебор элементов в цикле for в Python?
  88. Можно ли менять элементы списка внутри цикла for без использования переменной-счетчика? Почему?
  89. Как сочетание цикла for и функции range() может быть полезно при работе со списками?
  90. Что такое строка в Python и как она может быть определена в коде?
  91. Какой метод используется для разбивания строки на элементы, и как можно указать строку-разделитель для этого метода?
  92. Что произойдет, если попробовать изменить отдельный символ в строке в Python?
  93. Как метод find() работает в строках и что возвращает, если подстрока отсутствует?
  94. Для чего используется метод replace() и что нужно сделать, чтобы сохранить изменения в строке?
  95. Какие методы строк применимы для преобразования регистра символов?
  96. Как проверить, является ли строка полностью цифровой без использования try-except?
  97. Чем кортежи (tuple) в Python принципиально отличаются от списков?
  98. Какие встроенные функции Python можно использовать для превращения кортежа в список и наоборот?
  99. Почему использование кортежей может быть более безопасным вариантом в больших программах?
  100. В каком случае возможно изменить содержимое объекта, находящегося в кортеже?
  101. Что такое словарь в Python и в чем его основное отличие от списка?
  102. Как осуществляется доступ к значениям в словаре?
  103. Какие операции можно выполнять с элементами словаря?
  104. Какие типы данных могут использоваться в качестве ключей и значений в словарях?
  105. Что делает метод items() в словаре, и как его можно использовать?
  106. Какие методы словаря позволяют извлекать отдельно ключи и значения?
  107. Как метод update() влияет на существующие ключи при добавлении элементов из другого словаря?
  108. Как можно создать копию словаря и почему это может быть нужно?
  109. Что делает метод setdefault() в словарях?
  110. Какие модули Python обычно используют для работы с бинарными файлами?
  111. Чем текстовые файлы отличаются от бинарных?
  112. Какие аргументы принимает функция open() и что они определяют?
  113. Что произойдет с данными в файле, если открыть его в режиме записи ("w")?
  114. Какой режим открытия файла следует использовать, чтобы добавить новые данные без удаления существующих?
  115. Как читать файл построчно в Python?
  116. Почему важно закрывать файл после завершения работы с ним?

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

  1. Описание курса
  2. Эволюция и основы языков программирования

    История программирования в кратком и понятном изложении. Что такое машинный язык, почему появились ассемблеры, языки высокого уровня и объектно-ориентированные. Зачем нужен транслятор, и почему он может быть либо компилятором, либо интерпретатором.

  3. Знакомство с основами Python

    Особенности языка Python, работа в интерактивном режиме и подготовка файлов с исходным кодом.

  4. Типы данных и переменные в Python

    Базовые типы данных в Python: целое, вещественное числа, строки. Изменение типа данных с помощью встроенных функций. Понятие об операциях и переменных. Присваивание значения переменной.

  5. Ввод и вывод данных с Python функциями

    Для вывода на экран в Python 3.x используется функция print(). Вывод может быть предварительно отформатирован. Для ввода данных с клавиатуры используется функция input(), которая возвращает в программу строку.

  6. Логические выражения и операторы в Python

    Логические выражения. Логические операторы языка Python: == (равно), != (не равно), (больше), = (больше или равно), and (логическое И), or (логическое ИЛИ), not (отрицание).

  7. Ветвление и условные операторы в Python

    Управление потоком программы с помощью операторов if-else. Создание логических ветвлений, обработка условий и выполнение разных блоков кода в Python.

  8. Изучите обработку ошибок и исключений в Python

    Общее представление об ошибках и исключениях в языке программирования Python. SyntaxError, NameError, TypeError, ValueError, ZeroDivisionError. Обработка исключений с помощью инструкции try-except.

  9. Множественное ветвление с if-elif-else в Python

    Оператор множественного ветвления языка Python позволяет организовать более двух веток выполнения программы без необходимости вложения условных операторов друг в друга. Конструкция включает одну ветку if, произвольное количество elif и необязательную ветку else.

  10. Цикл while и его применение в Python

    С помощью циклов в программировании организуется многократное следующее друг за другом выполнение одних и тех же участков кода. Бывают циклы с условием и со счетчиком. К первым относится цикл while, или цикл "пока".

  11. Изучите функции и их применение в Python

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

  12. Локальные и глобальные переменные в Python

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

  13. Оператор return и возврат значений в Python

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

  14. Параметры и аргументы функций в Python

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

  15. Встроенные функции Python для работы

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

  16. Использование модулей в Python

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

  17. Генерация псевдослучайных чисел в Python

    Для генерации псевдослучайных чисел в языке программирования Python используются функции модуля random. Функция random() генерирует вещественное число от 0 до 1. Функции randint() и randrange() производят целые псевдослучайные числа в указанных диапазонах.

  18. Изучение списков в Python - основы и операции

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

  19. Изучение цикла for в Python

    Цикл for в языке программирования Python предназначен для перебора элементов структур данных (списков, словарей, кортежей, множеств) и многих других объектов. Это не цикл со счетчиком, каковым является for во многих других языках. Нередко цикл for используется совместно с функцией range(), генерирующей объекты-диапазоны.

  20. Строки в Python - методы и срезы

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

  21. Кортежи - неизменяемые структуры данных

    Кортежи в Python - это неизменяемые структуры данных, состоящие из элементов одного или разных типов. Кортежи подобны спискам и обычно используются для защиты последних от изменений. Преобразование одного в другой выполняется с помощью встроенных функций tuple() и list().

  22. Словари в Python - работа с ключами и значениями

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

  23. Работа с файлами в Python

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