Class1: Why Python, the Shell, and Strings
- Why Python?
- Characteristics of Python
- The Python Interpreter Shell
- Printing to stdout and reading from stdin
- Dir, Help, and Variables
- Python Strings
- Python String Formatting
Class2: Numbers, Files, Lists, and Linters
- List Slices
Class3: Conditionals and Loops
- Boolean Logic
- For Loops
- Break and Continue
- While Loops
- Loops Miscellaneous
Class4: Dictionaries, Exceptions, and Regular Expressions
- Dictionary Methods
- Regular Expressions
- Regular Expressions—Other Methods
Class5: Functions and the Python Debugger
- Misc Topics
- Python Debugger (pdb)
- Netmiko Introduction and Basics
- Netmiko Show Commands
- Netmiko and Prompting
- Netmiko and TextFSM
- Netmiko Config Changes
- Netmiko Troubleshooting
Class7: Jinja2, YAML and JSON
- Jinja2 Basics
- Jinja2 For-Loops and Conditionals
- Jinja2 Dictionaries and Nested Loops
- Using Python to Write YAML
- Managing Data Structures
Class8: Libraries, PIP, and Virtual Environments
- Importing Libraries
- sys.path and PYTHONPATHv
- Virtual Environments
- Creating a Simple Python Module
What is the format of the course?
This course is an eight week email-course. Each week you will receive a lesson that contains a set of videos, some additional content, and some exercises. I will post solutions to the exercises online. The course is largely self-paced except for the weekly email cadence.
Is there a lab environment?
No, since this is a free course, there is no lab environment. For all of the lessons except for Class6 (Netmiko), you should be able to accomplish the lessons without having any access to network devices.
What are the prerequisites for the course?
This course is intended for network engineers that have some basic familiarity with programming (for example, Perl, shell scripting, other language) and who would like to learn Python. The course covers Python fundamentals, but using examples and exercises that are more relevant to network engineers.
Python facilitates writing clean, readable code and is natively present on Linux and MacOS. Python has gained widespread support in the networking community both from engineers and from vendors. Python has a large, active community and, consequently, numerous resources are available to you (libraries, documentation, books, tutorials, etc.).
What if I am unsatisfied with the course after I sign-up?
The course is free so unsubscribe from the email-list if you aren't happy with the lessons or our other content.
Kirk Byers is the founder of Twin Bridges Technology–a business specializing in network automation training. He is the creator of the Netmiko Python library and also one of the maintainers of the NAPALM project. He teaches Python, Ansible, and Nornir courses for Network Engineers and writes about network automation. He is a long-time network engineer (CCIE #6243 emeritus), has extensive experience with *nix system administration, and is a Python programmer. He is interested in programming and networking and how to improve network engineering practices through automation.
Zack is a programmer extraordinaire. His language of choice is Python. He loves programming and is very big into games including: Magic the Gathering, Roblox, Dungeons & Dragons, and Terraforming Mars.
Jupiter is all dog. She loves to be near her people and loves her food (not necessarily in that order). She likes the water, the beach, chasing birds, and meeting new people. She is categorized as "an aggressive chew breed" and is living up to that category.