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

Использование Git и GitHub.
В книге достаточно много заданий и нужно где-то их хранить. Один из вариантов - использование для этого Git и GitHub. Конечно, можно использовать для этого и другие средства, но используя GitHub, можно постепенно разобраться с ним и затем использовать его для других задач. Задания и примеры из книги находятся в отдельном репозитории на GitHub. Их можно скачать как zip-архив, но лучше работать с репозиторием с помощью Git, тогда можно будет посмотреть внесённые изменения и легко обновить репозиторий. Если изучать Git с нуля и, особенно, если это первая система контроля версий, с которой Вы работаете, информации может быть очень много, поэтому в этой главе всё нацелено на практическую сторону вопроса, и рассказывается:
• как начать использовать Git и GitHub;
• как выполнить базовые настройки;
• как посмотреть информацию и/или изменения.
Теории в этом подразделе будет мало, но будут даны ссылки на полезные ресурсы. Попробуйте сначала провести все базовые настройки для выполнения заданий, а потом продолжайте читать книгу. И в конце, когда базовая работа с Git и GitHub будет уже привычным делом, почитайте о них подробнее. Для чего может пригодиться Git;
• для хранения конфигураций и всех изменений в них;
• для хранения документации и всех её версий;
• для хранения схем и всех их версий;
• для хранения кода и его версий.
ОГЛАВЛЕНИЕ.
1 Введение.
О книге.
Для кого эта книга.
Зачем Вам учиться программировать?.
Требуемые версии ОС и Python.
Примеры.
Задания.
Вопросы.
Презентации.
Форматы файлов книги.
Обсуждение.
Часто задаваемые вопросы (FAQ).
Будет ли печатная версия книги?.
Почему в книге нет темы X?.
Чем это отличается от обычного вводного курса по Python?.
Почему книга именно для сетевых инженеров?.
Почему именно Python?.
Книга будет когда-то платной?.
Благодарности.
2 Ресурсы для обучения по книге.
Подготовка рабочего окружения.
Задания.
Тесты.
Дополнительные материалы.
3 I. Основы Python.
1. Подготовка к работе.
Подготовка рабочего окружения.
ОС и редактор.
Система управления пакетами pip.
Виртуальные окружения.
Интерпретатор Python.
Дополнительные материалы.
Задания.
2. Использование Git и GitHub.
Основы Git.
Отображение статуса репозитория в приглашении.
Работа с Git.
Дополнительные возможности.
Аутентификация на GitHub.
Работа со своим репозиторием заданий.
Работа с репозиторием заданий и примеров.
Дополнительные материалы.
Задания.
3. Начало работы с Python.
Синтаксис Python.
Интерпретатор Python. IPython.
Специальные команды ipython.
Переменные.
Задания.
4. Типы данных в Python.
Числа.
Строки (Strings).
Список (List).
Словарь (Dictionary).
Кортеж (Tuple).
Множество (Set).
Булевы значения.
Преобразование типов.
Проверка типов.
Вызов методов цепочкой.
Основы сортировки данных.
Дополнительные материалы.
Задания.
5. Создание базовых скриптов.
Исполняемый файл.
Передача аргументов скрипту (argv).
Ввод информации пользователем.
Задания.
6. Контроль хода программы.
if/elif/else.
for.
while.
break, continue, pass.
for/else, while/else.
Работа с исключениями try/except/else/finally.
Дополнительные материалы.
Задания.
7. Работа с файлами.
Открытие файлов.
Чтение файлов.
Запись файлов.
Закрытие файлов.
Конструкция with.
Примеры работы с файлами.
Дополнительные материалы.
Задания.
8. Полезные возможности и инструменты.
Форматирование строк с помощью f-строк.
Распаковка переменных.
List, dict, set comprehensions.
Отладка кода.
Дополнительные материалы.
4 II. Повторное использование кода.
9. Функции.
Создание функций.
Пространства имен. Области видимости.
Параметры и аргументы функций.
Аргументы, которые можно передавать только как ключевые.
Распространенные проблемы/нюансы работы с функциями.
Дополнительные материалы.
Задания.
10. Полезные функции.
Функция print.
Функция range.
Функция sorted.
enumerate.
Функция zip.
Функция all.
Функция any.
Анонимная функция (лямбда-выражение).
Функция map.
Функция filter.
11. Модули.
Импорт модуля.
Создание своих модулей.
if __name__ == "__main__".
Пути поиска модулей.
Рекомендации по поводу расположения функций в коде.
Задания.
12. Полезные модули.
Модуль subprocess.
Модуль os.
Модуль ipaddress.
Модуль tabulate.
Модуль pprint.
Дополнительные материалы.
Задания.
13. Итераторы, итерируемые объекты и генераторы.
Итерируемый объект.
Итераторы.
Генератор (generator).
Дополнительные материалы.
5 III. Регулярные выражения.
14. Синтаксис регулярных выражений.
Синтаксис регулярных выражений.
Наборы символов.
Символы повторения.
Специальные символы.
Жадность символов повторения.
Группировка выражений.
Разбор вывода команды show ip dhcp snooping с помощью именованных групп.
Группа без захвата.
Повторение захваченного результата.
Дополнительные материалы.
15. Модуль re.
Объект Match.
Функция search.
Функция match.
Функция finditer.
Функция findall.
Функция compile.
Флаги.
Функция re.split.
Функция re.sub.
Дополнительные материалы.
Задания.
6 IV. Запись и передача данных.
16. Unicode.
Стандарт Юникод.
Юникод в Python 3.
Конвертация между байтами и строками.
Примеры конвертации между байтами и строками.
Ошибки при конвертации.
Дополнительные материалы.
17. Работа с файлами в формате CSV, JSON, YAML.
Работа с файлами в формате CSV.
Работа с файлами в формате JSON.
Работа с файлами в формате YAML.
Дополнительные материалы.
Задания.
7 V. Работа с сетевым оборудованием.
18. Подключение к оборудованию.
Ввод пароля.
Модуль pexpect.
Модуль telnetlib.
Модуль paramiko.
Модуль netmiko.
Модуль scrapli.
Дополнительные материалы.
Задания.
19. Одновременное подключение к нескольким устройствам.
Измерение времени выполнения скрипта.
Процессы и потоки в Python (CPython).
Количество потоков.
Потоковая безопасность.
Модуль logging.
Модуль concurrent.futures.
Дополнительные материалы.
Задания.
20. Шаблоны конфигураций с Jinja2.
Начало работы с Jinja2.
Пример использования Jinja.
Синтаксис шаблонов Jinja2.
Наследование шаблонов.
Дополнительные материалы.
Задания.
21. Обработка вывода команд TextFSM.
Начало работы с TextFSM.
Синтаксис шаблонов TextFSM.
Правила состояний.
Примеры использования TextFSM.
TextFSM CLI Table.
Дополнительные материалы.
Задания.
8 VI. Основы объектно-ориентированного программирования.
22. Основы ООП.
Основы ООП.
Создание класса.
Создание метода.
Параметр self.
Метод __init__.
Пример класса.
Область видимости.
Переменные класса.
Задания.
23. Специальные методы.
Подчеркивание в именах.
Методы __str__, __repr__.
Поддержка арифметических операторов.
Протоколы.
Дополнительные материалы.
Задания.
24. Наследование.
Основы наследования.
Задания.
9 VII. Работа с базами данных.
25. Работа с базами данных.
SQL.
SQLite.
Основы SQL (в sqlite3 CLI).
Модуль sqlite3.
Дополнительные материалы.
Задания.
10 VIII. Дополнительная информация.
Модуль argparse.
Вложенные парсеры.
Форматирование строк с оператором %.
Соглашение об именах.
Имена переменных.
Имена модулей и пакетов.
Имена функций.
Имена классов.
Подчеркивание в именах.
Подчеркивание как имя.
Два подчеркивания.
Два подчеркивания перед именем.
Два подчеркивания перед и после имени.
Отличия Python 2.7 и Python 3.6.
Unicode.
Функция print.
input вместо raw_input.
range вместо xrange.
Методы словарей.
Распаковка переменных.
Итератор вместо списка.
subprocess.run.
Jinja2.
Модули pexpect, telnetlib, paramiko.
Мелочи.
Дополнительная информация.
Проверка заданий с помощью утилиты pyneng.
Где решать задания.
Установка скрипта pyneng.
Скрипт pyneng.
Проверка заданий тестами.
Получение ответов.
Вывод pyneng.
Проверка заданий с помощью pytest.
Основы pytest.
Особенности использования pytest для проверки заданий.
pytest-clarity.
11 Продолжение обучения.
Написание скриптов для автоматизации рабочих процессов.
Python для автоматизации работы с сетевым оборудованием.
Python без привязки к сетевому оборудованию.
Книги.
Курсы.
Сайты с задачами.
Подкасты.
Документация.
12 Скачать PDF/Epub.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Python для сетевых инженеров, Samoylenko N., 2023 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать zip
Ниже можно купить эту книгу, если она есть в продаже, и похожие книги по лучшей цене со скидкой с доставкой по всей России.Купить книги
Скачать - epub - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Samoylenko
Смотрите также учебники, книги и учебные материалы:
Предыдущие статьи: