Содержание
- 2. План Область видимости переменных Модули Обработка исключений Списки Кортежи
- 3. Область видимости переменных Область видимости или scope определяет контекст переменной, в рамках которого ее можно использовать.
- 4. Область видимости переменных Глобальный контекст подразумевает, что переменная является глобальной, она определена вне любой из функций
- 5. Область видимости переменных Здесь переменная name является глобальной и имеет глобальную область видимости. И обе определенные
- 6. Область видимости переменных В отличие от глобальных переменных локальная переменная определяется внутри функции и доступна только
- 7. Область видимости переменных В данном случае в каждой из двух функций определяется локальная переменная name. И
- 8. Область видимости переменных Есть еще один вариант определения переменной, когда локальная переменная скрывают глобальную с тем
- 9. Область видимости переменных Здесь определена глобальная переменная name. Однако в функции say_bye определена локальная переменная с
- 10. Область видимости переменных Если же мы хотим изменить в локальной функции глобальную переменную, а не определить
- 11. Область видимости переменных В Python, как и во многих других языках программирования, не рекомендуется использовать глобальные
- 12. Область видимости переменных В данном случае число 3.14 представлено константой PI. Понятно, что это значение в
- 13. Модули Модуль в языке Python представляет отдельный файл с кодом, который можно повторно использовать в других
- 14. Модули Для этого сначала определим новый модуль: создадим новый файл, который назовем service.py, в той же
- 15. Модули Соответственно модуль будет называться service. И определим в нем следующий код: Здесь определена функция calculate_income,
- 16. Модули В файле hello.py используем данный модуль: Для использования модуля его надо импортировать с помощью оператора
- 17. Модули Чтобы обращаться к функциональности модуля, нам нужно получить его пространство имен. По умолчанию оно будет
- 18. Модули И после этого мы можем запустить главный скрипт hello.py, и он задействует модуль service.py. В
- 19. Модули Настройка пространства имен По умолчанию при импорте модуля он доступен через одноименное пространство имен. Однако
- 20. Модули Другой вариант настройки предполагает импорт функциональности модуля в глобальное пространство имен текущего модуля с помощью
- 21. Модули Если бы в модуле service было бы несколько функций, то могли бы их импортировать в
- 22. Модули Имя модуля В примере выше модуль hello.py, который является главным, использует модуль service.py. При запуске
- 23. Модули Так, изменим содержимое файла service.py: Кроме того, для тестирования функции определена главная функция main. И
- 24. Модули Следует обратить внимание на вызов функции main: if __name__=="__main__": main() Переменная __name__ указывает на имя
- 25. Модули В файле hello.py также можно сделать проверку на то, является ли модуль главным (хотя в
- 26. Обработка исключений При программировании на Python мы можем столкнуться с двумя типами ошибок. Первый тип представляют
- 27. Обработка исключений Второй тип ошибок представляют ошибки выполнения (runtime error). Они появляются в уже скомпилированной программе
- 28. Обработка исключений Однако возьмем другой пример: При выполнении этого скрипта будет выброшено исключение ValueError, так как
- 29. Обработка исключений С одной стороны, здесь очевидно, сто строка не представляет число, но мы можем иметь
- 30. Обработка исключений При возникновении исключения работа программы прерывается, и чтобы избежать подобного поведения и обрабатывать исключения
- 31. Обработка исключений Рассмотрим обработку исключения на примере преобразовании строки в число:
- 32. Обработка исключений В примере выше обрабатывались сразу все исключения, которые могут возникнуть в коде. Однако мы
- 33. Обработка исключений Если ситуация такова, что в программе могут быть сгенерированы различные типы исключений, то мы
- 34. Обработка исключений Если возникнет исключение в результате преобразования строки в число, то оно будет обработано блоком
- 35. Обработка исключений Если возникнет исключение в результате преобразования строки в число, то оно будет обработано блоком
- 36. Обработка исключений Блок finally При обработке исключений также можно использовать необязательный блок finally. Отличительной особенностью этого
- 37. Обработка исключений Получение информации об исключении С помощью оператора as мы можем передать всю информацию об
- 38. Обработка исключений Генерация исключений Иногда возникает необходимость вручную сгенерировать то или иное исключение. Для этого применяется
- 39. Списки Для работы с наборами данных Python предоставляет такие встроенные типы как списки, кортежи и словари.
- 40. Списки Также для создания списка можно использовать конструктор list(): Оба этих определения списка аналогичны - они
- 41. Списки Для обращения к элементам списка надо использовать индексы, которые представляют номер элемента в списка. Индексы
- 42. Списки Если необходимо создать список, в котором повторяется одно и то же значение несколько раз, то
- 43. Списки Кроме того, если нам необходим последовательный список чисел, то для его создания удобно использовать функцию
- 44. Списки Список необязательно должен содержать только однотипные объекты. Мы можем поместить в один и тот же
- 45. Списки Перебор элементов Для перебора элементов можно использовать как цикл for, так и цикл while. Перебор
- 46. Списки Перебор с помощью цикла while: Для перебора с помощью функции len() получаем длину списка. С
- 47. Списки Сравнение списков Два списка считаются равными, если они содержат один и тот же набор элементов:
- 48. Списки Методы и функции по работе со списками Для управления элементами списки имеют целый ряд методов.
- 49. Списки Кроме того, Python предоставляет ряд встроенных функций для работы со списками: len(list): возвращает длину списка
- 50. Списки Добавление и удаление элементов Для добавления элемента применяются методы append() и insert, а для удаления
- 51. Списки Проверка наличия элемента Если определенный элемент не найден, то методы remove и index генерируют исключение.
- 52. Списки Подсчет вхождений Если необходимо узнать, сколько раз в списке присутствует тот или иной элемент, то
- 53. Списки Сортировка Для сортировки по возрастанию применяется метод sort(): Если необходимо отсортировать данные в обратном порядке,
- 54. Списки При сортировке фактически сравниваются два объекта, и который из них "меньше", ставится перед тем, который
- 55. Списки Таким образом, если в списке сочетаются строки с верхним и нижним регистром, то мы можем
- 56. Списки Кроме метода sort мы можем использовать встроенную функцию sorted, которая имеет две формы: sorted(list): сортирует
- 57. Списки Минимальное и максимальное значения Встроенный функции Python min() и max() позволяют найти минимальное и максимальное
- 58. Списки Копирование списков При копировании списков следует учитывать, что списки представляют изменяемый (mutable) тип, поэтому если
- 59. Списки Это так называемое "поверхностное копирование" (shallow copy). И, как правило, такое поведение нежелательное. И чтобы
- 60. Списки Копирование части списка Если необходимо скопировать не весь список, а только его какую-то определенную часть,
- 61. Списки Копирование части списка
- 62. Списки Соединение списков Для объединения списков применяется операция сложения (+):
- 63. Списки Списки списков Списки кроме стандартных данных типа строк, чисел, также могут содержать другие списки. Подобные
- 64. Списки Чтобы обратиться к элементу вложенного списка, необходимо использовать пару индексов: users[0][1] - обращение ко второму
- 65. Списки Перебор вложенных списков:
- 66. Кортежи Кортеж (tuple) представляет последовательность элементов, которая во многом похожа на список за тем исключением, что
- 67. Кортежи Также для определения кортежа мы можем просто перечислить значения через запятую без применения скобок: Если
- 68. Кортежи Для создания кортежа из списка можно передать список в функцию tuple(), которая возвратит кортеж:
- 69. Кортежи Обращение к элементам в кортеже происходит также, как и в списке по индексу. Индексация начинается
- 70. Кортежи Но так как кортеж - неизменяемый тип (immutable), то мы не сможем изменить его элементы.
- 71. Кортежи При необходимости мы можем разложить кортеж на отдельные переменные:
- 72. Кортежи Особенно удобно использовать кортежи, когда необходимо возвратить из функции сразу несколько значений. Когда функция возвращает
- 73. Кортежи С помощью встроенной функции len() можно получить длину кортежа:
- 74. Кортежи Перебор кортежей Для перебора кортежа можно использовать стандартные циклы for и while. С помощью цикла
- 75. Кортежи Как для списка с помощью выражения элемент in кортеж можно проверить наличие элемента в кортеже:
- 76. Кортежи Сложные кортежи Один кортеж может содержать другие кортежи в виде элементов. Например:
- 78. Скачать презентацию