Главная страница
Навигация по странице:

  • Глава 2. ОСНОВЫ ЯЗЫКА

  • Глава 3. ОБЪЕКТН ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА PYTHON

  • Глава 4. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ЯЗЫКА PYTHON

  • Глава 5. ЛАБОРАТОРНЫЕ РАБОТЫ

  • Косицин

  • С. В. Вабищевич инженерпрограммист компании ооо ск хайникс мемори солюшнс Восточная Европа


    Скачать 1.28 Mb.
    НазваниеС. В. Вабищевич инженерпрограммист компании ооо ск хайникс мемори солюшнс Восточная Европа
    Дата22.11.2021
    Размер1.28 Mb.
    Формат файлаpdf
    Имя файлаKositsin.pdf
    ТипУчебно-методическое пособие
    #278468
    страница9 из 9
    1   2   3   4   5   6   7   8   9
    Глава 1. БЫСТРЫЙ СТАРТ
    1.1. О языке ...................................................................................................... 4
    История языка .................................................................................... 4
    Особенности языка ............................................................................ 4
    Эффективность ................................................................................... 5
    Основные направления разработки на Python ................................ 5
    Идеология Python ............................................................................... 6 1.2. Версии и интерпретаторы ........................................................................ 7
    Версии Python..................................................................................... 7
    Интерпретаторы ................................................................................ 7
    Среды разработки .............................................................................. 8
    Установка библиотек .......................................................................... 8
    Глава 2. ОСНОВЫ ЯЗЫКА
    2.1. Интерпретатор ........................................................................................ 10 2.2. Работа с числами в Python ...................................................................... 10 2.3. Основные конструкции языка ............................................................... 12
    Логические выражения .................................................................... 12
    Переменные ..................................................................................... 12
    Условный оператор if ....................................................................... 13
    Цикл while ......................................................................................... 14
    Цикл for ............................................................................................. 15
    Базовый синтаксис функций ........................................................... 16
    Встроенные функции ....................................................................... 16 2.4. Списки ..................................................................................................... 17 2.5. Кортежи .................................................................................................... 19 2.6. Словари и множества .............................................................................. 20
    Определение и создание словарей ................................................. 20
    Особенности хеширования ............................................................. 20
    Методы работы со словарями ......................................................... 21 2.7. Множества ................................................................................................ 22
    Определение и создание множеств ................................................ 22
    Методы работы с множествами ...................................................... 23 2.8. Файлы ....................................................................................................... 24 2.9. Строки ...................................................................................................... 25
    Задание и особенности строк .......................................................... 25
    Методы работы со строками ........................................................... 26

    132 2.10. Импорт модулей .................................................................................... 28
    Основы импорта модулей ............................................................. 28
    Загрузка модулей ........................................................................... 28
    Поиск модулей ............................................................................... 29 2.11. Стиль кода .............................................................................................. 29
    О пробелах ...................................................................................... 29
    Именование переменных.............................................................. 30
    Длина строк .................................................................................... 30
    Прочие замечания ......................................................................... 30
    Утилиты для проверки .................................................................. 30 2.12. Модель памяти ...................................................................................... 31
    Объекты .......................................................................................... 31
    Сравнение объектов ...................................................................... 31
    Связь имени и объекта .................................................................. 32
    Изменяемые объекты .................................................................... 32
    Неизменяемые объекты ................................................................ 33
    Контейнеры .................................................................................... 34
    Копирование объектов .................................................................. 34
    Синглтоны ...................................................................................... 34
    None как параметр по умолчанию ............................................... 35 2.13. Особенности работы с коллекциями ................................................... 35
    Упаковка переменных ................................................................... 35
    Распаковка переменных ................................................................ 35
    Слайсы ............................................................................................ 37
    Способы задания слайсов .............................................................. 37
    Замечания по работе со списками ................................................ 38
    Comprehension- выражения ........................................................... 39
    Функциональный подход .............................................................. 39
    Производные коллекции ............................................................... 40
    Алгоритмы стандартной библиотеки ........................................... 41
    Инструкция del ............................................................................... 41 2.14. Модули и пакеты ................................................................................... 42
    Схема импорта модулей ................................................................ 42
    Загрузка и перезагрузка модуля ................................................... 43
    Импорт модулей по имени ............................................................ 43
    Пакеты и пространства имен ........................................................ 44
    Дополнительные возможности импортов модулей .................... 44 2.15. Функции ................................................................................................. 45
    Синтаксис функций ....................................................................... 45
    Вызов функций .............................................................................. 46
    Алгоритм маппинга аргументов .................................................. 48
    Документация функций ................................................................ 48 2.16. Области видимости переменных ......................................................... 48
    Переменные в циклах .................................................................... 49
    Локальные и глобальные переменные ......................................... 50

    133
    Замыкания ...................................................................................... 50
    Lambda- функции............................................................................ 51 2.17. Форматирование строк ......................................................................... 52 2.18. Модули стандартной библиотеки ........................................................ 53
    Модуль регулярных выражений ................................................... 53
    Модули functools и enum ............................................................... 53
    Логирование ................................................................................... 54
    Работа с файловой системой ......................................................... 55
    Работа с системой .......................................................................... 56
    Парсинг аргументов командной строки ...................................... 56
    Ответы ............................................................................................ 57
    Полезные ссылки ........................................................................... 59
    Глава 3. ОБЪЕКТН ОРИЕНТИРОВАННОЕ
    ПРОГРАММИРОВАНИЕ НА PYTHON
    3.1. Общие понятия классов и объектов ......................................................60 3.2. Методы классов ..................................................................................... 60
    Атрибуты объектов ........................................................................ 60
    Атрибуты классов ........................................................................... 61
    Именование полей класса ............................................................. 61
    Свой ства – декоратор property ...................................................... 62
    Декораторы staticmethod и classmethod....................................... 63
    Магические методы ....................................................................... 64 3.3. Наследование ......................................................................................... 66
    Проверка типа ................................................................................ 66
    Иерархия наследования ................................................................ 66
    Наследование методов и атрибутов ............................................. 67
    Переопределение атрибутов ......................................................... 67
    Частичное переопределение атрибутов ....................................... 68
    Переопределение конструктора ................................................... 68
    Вызов методов базового класса .................................................... 68
    Вызов конструктора базового класса ........................................... 69
    Множественное наследование ...................................................... 69
    Порядок разрешения имен ........................................................... 70
    Пример недопустимой иерархии ................................................. 71
    Процедура поиска атрибутов ........................................................ 71
    Случай множественного наследования ........................................ 71
    Встроенные базовые классы ......................................................... 72 3.4. Обработка ошибок ................................................................................. 72
    Типы ошибок .................................................................................. 72
    Пример работы с исключениями .................................................. 73
    Обработка исключений ................................................................. 74
    Особенности работы с Python 2 .................................................... 75
    Особенности работы с Python 3 .................................................... 75

    134
    Подходы к обработке ошибок ....................................................... 76
    Предупреждения ............................................................................ 76 3.5. Профилирование ................................................................................... 76 3.6. Тестирование ......................................................................................... 77
    Проверка аргументов .................................................................... 77
    Юнит- тесты .................................................................................... 78
    Библиотека doctest ......................................................................... 78
    Библиотека unittest ........................................................................ 78
    Подмена объектов .......................................................................... 79 3.7. Декораторы ............................................................................................ 80
    Реализация декоратора с помощью класса .................................. 81
    Декораторы с параметрами .......................................................... 81
    Несколько декораторов ................................................................. 82
    Параметризованный декоратор- класс ......................................... 82
    Свой ства как декораторы .............................................................. 83 3.8. Итераторы и генераторы ...................................................................... 84
    Sequence and iterable ...................................................................... 84
    Итераторы ...................................................................................... 85
    Итерируемые и истощаемые ........................................................ 86
    Генератор ........................................................................................ 86
    Замечания по генераторам ........................................................... 87
    Дополнительные способы итерирования .................................... 88 3.9. Менеджеры контекста ........................................................................... 88 3.10. Работа с атрибутами ............................................................................. 90
    Динамические атрибуты ............................................................... 90
    Пример работы с атрибутами ....................................................... 91
    Магические методы работы с атрибутами ................................... 91
    Замечания по работе с атрибутами .............................................. 92 3.11. Механизм создания классов ................................................................. 92
    Последовательность создания класса ........................................... 92
    Создание экземпляра класса ......................................................... 94
    Метаклассы ..................................................................................... 94
    Абстрактные базовые классы ........................................................ 96
    Замечания о классах ...................................................................... 96 3.12. Дескрипторы ......................................................................................... 96
    Ответы на вопросы ........................................................................ 98
    Глава 4. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ
    ЯЗЫКА PYTHON
    4.1. Математическая библиотека Numpy .................................................... 99
    NDArray ........................................................................................... 99
    Размерность массива ..................................................................... 99
    Оси ................................................................................................ 100
    Индексация .................................................................................. 100

    Продвинутая индексация ............................................................ 100
    Универсальные функции ............................................................. 101
    Типы и записи .............................................................................. 101
    Возможности Numpy.................................................................... 102 4.2. Прочие математические библиотеки .................................................. 102
    SciPy .............................................................................................. 102
    MatplotLib, Seaborn, SymPy, Pandas ............................................. 103 4.3. Работа с Web. GUI .................................................................................. 104
    Web- запросы и парсинг ............................................................... 104
    GUI ................................................................................................. 105
    Пример приложения на Kivy ....................................................... 105 4.4. Подробности реализации и прочие возможности языка ................... 106
    Байт-код........................................................................................ 106
    Интроспекция .............................................................................. 108
    GIL и GC ........................................................................................ 108
    Потоки и процессы в Python ....................................................... 109
    Сериализация данных ................................................................. 109
    Расширение языка ....................................................................... 110
    Разворачивание приложений ..................................................... 110
    Новые интересные возможности ............................................... 110
    Глава 5. ЛАБОРАТОРНЫЕ РАБОТЫ
    1. Основы языка и базовые коллекции ...................................................... 112 2. Comprehension- выражения и дополнительные коллекции .................. 114 3. Классы и методы ...................................................................................... 117 4. Декораторы и итераторы......................................................................... 120 5. Контекстные менеджеры и метаклассы ................................................. 123
    Домашние задания ...................................................................................... 126 1. Основы языка ....................................................................................... 126 2. Объектно- ориентированное программирование ............................. 128
    Список литературы ...................................................................................... 130

    Учебное издание
    Косицин Дмитрий Юрьевич
    ЯЗЫК ПРОГРАММИРОВАНИЯ PYTHON
    Учебно-методическое пособие
    Ответственный за выпуск Е. А. Логвинович
    Художник обложки Т. Ю. Таран
    Технический редактор Л. В. Жаборовская
    Компьютерная верстка В. В. Мироновой
    Корректор Т. Н. Булатова
    Подписано в печать 28.08.2019. Формат 60×84/16. Бумага офсетная.
    Ризография. Усл. печ. л. 7,90. Уч.-изд. л. 7,1. Тираж 100 экз. Заказ 563.
    Белорусский государственный университет.
    Свидетельство о государственной регистрации издателя, изготовителя,
    распространителя печатных изданий № 1/270 от 03.04.2014.
    Пр. Независимости, 4, 220030, Минск.
    Республиканское унитарное предприятие
    «Издательский центр Белорусского государственного университета».
    Свидетельство о государственной регистрации издателя, изготовителя,
    распространителя печатных изданий № 2/63 от 19.03.2014.
    Ул. Красноармейская, 6, 220030, Минск.
    1   2   3   4   5   6   7   8   9


    написать администратору сайта