О книге#

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

Для кого эта книга#

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

Ещё не решили, нужно ли читать книгу? Почитайте отзывы.

Зачем Вам учиться программировать?#

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

  • доступно в несколько раз больше литературы, форумов и блогов;

  • практически для любого вопроса или проблемы достаточно быстро находится решение, если вы ввели запрос в Google.

Знание программирования в этом очень похоже. Если вы знаете, например, Python хотя бы на базовом уровне, вы уже открываете массу новых возможностей для себя. Аналогия с английским подходит ещё и потому, что можно работать сетевым инженером и быть хорошим специалистом без знания английского. Английский просто даёт возможности, но он не является обязательным требованием.

Требуемые версии ОС и Python#

Все примеры и выводы терминала в книге показываются на Debian Linux. В книге используется Python 3.7, но для большинства примеров подойдет и Python 3.x. Только в некоторых примерах требуется версия 3.6 или выше чем 3.5. Это всегда явно указано и, как правило, касается дополнительных возможностей.

Примеры#

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

Задания#

Все задания и вспомогательные файлы можно скачать в репозитории, том же, где располагаются примеры кода. Если в заданиях раздела есть задания с буквами (например, 5.2a), то нужно выполнить сначала задания без букв, а затем с буквами. Задания с буквами, как правило, немного сложнее заданий без букв и развивают идею в соответствующем задании без буквы. Если получается, лучше делать задания по порядку. В книге специально не приведены ответы на задания, так как, к сожалению, когда есть ответы, очень часто вместо того, чтобы попытаться решить сложное задание самостоятельно, подглядывают в них. Конечно, иногда возникает ситуация, когда никак не получается решить задание – попробуйте отложить его, задать вопрос в Slack и сделать какое-либо другое.

Примечание

На Stack Overflow есть ответы практически на любые вопросы. Так что, если Google отправил Вас на него, это, с большой вероятностью значит, что ответ найден. Запросы, конечно же, лучше писать на английском – по Python очень много материалов и, как правило, подсказку найти легко

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

Вопросы#

Для части тем книги созданы вопросы:

Эти вопросы можно использовать как для проверки знаний, так и в роли заданий. Очень полезно поотвечать на вопросы после прочтения соответствующей темы. Они позволят вам вспомнить материал темы, а также увидеть на практике разные аспекты работы с Python. Постарайтесь сначала ответить самостоятельно, а затем подсмотреть ответы в IPython по тем вопросам, в которых вы сомневаетесь.

Презентации#

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

Форматы файлов книги#

Книгу можно скачать в двух форматах: PDF, Epub. Они автоматически обновляются, поэтому всегда содержат одинаковую информацию.

Обсуждение#

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