Introduction to Python for Network Engineers
In this training, Python programming is taught to Network Engineers with live device examples.
Introduction to Programming
- Why Learn to Program
- Operational Efficiency
- Human Error
- How Bad?
- What to do?
- Your Career will thank you
- Fear
- The Future
- Why Python
- TIOBE Programming Community Index
- Which language to start with?
- Why Python?
- History of Python
- Everything is an object
- Around here for a long time
- Portability
- Readability
- Batteries Included
- Software examples with Python
- Programming Paradigms
- Procedural Programming
- First do this, then do that.
- Organizing steps, modules, submodules etc.
- Object Oriented Programming
- Functional Programming
- Procedural Programming
The Software Development Lifecycle at Bird View
- Gathering Information
- Initial Design
- Implementation
- Testing
- Debugging & Maintenance & Feature Requests
- Does any of these matter
A History of Interacting with Network Devices
- TCL and Expect
- TCL - 1988 Tool Command Language
- Expect - TCL Extension
- Telnet & SSH
- SNMP
Beyond Screen Scraping
- What is NETCONF?
- Comparing NETCONF and Other Methods
- NETCONF vs Screen Scraping
- NETCONF vs SNMP
- What is YANG?
- Python Embedded in the OS
Python Programming Environment
Choosing an Operating System
- Why choose Linux?
- virtualenv & virtualenvwrapper
- LAB 1
Configuring your Text Editor
- Indentation
- Spaces over tabs
- Source File Encoding
- Comments
Python Interactive Interpreter
- Running the Interpreter
- Running code Inside the Interpreter
- Learning with the Interpreter
Running your Python Scripts
- Saving your Source Files
- Executing your Source Files
- What does the Shebang #! Line do?
Python Fundamentals
Object/Execution Model
- Everything is an Object
- Two types of Objects
- Mutable
- Immutable
- Statements and Expressions
Variables
- Traditional Variable Types
- Variables in Python
Data Types
- Strings
- Integers
- Floats
- Lists
- Dictionaries
- Tuples
Control Structures
- If/Else/Elif
- For Loop
- While Loop
- Breaking Out of Loops
- The pass Statement
Functions
- What is Scope?
- Functions & Arguments
- Positional Arguments
- Keyword Arguments
More Advanced Python
Exceptions
- What are Exceptions?
- Catching Exceptions
- Try/Finally Statement
Working with Files and Directories
- Open
- Modes
- With Statement
Complex Data Structures
- How to think about Data
- Examples:
- A list of Lists
- A List of Dictionaries
- A Dictionary of Dictionaries
Maintaining State
- Data Serialization
- XML (Mid 90s)
- YAML (2001)
- JSON (early 2000s)
- Pickle
- Database
Modules
- Finding and Using Modules
- Creating your own Modules
- Namespaces :: Cautionary Tale
Labs
Lab 1
- Virtual Env & Packet Manager
Lab 2
- VS Code Remote Development Environment
Lab 3
- Ping to multiple hosts with subprocess call
NETMIKO
- Lab 4 - Basic Connections
- Clock Output
- Show interface brief
- Lab 5 - Netmiko send configs
- Option 1 - Send Commands to single device
- Option 2 - Getpass
- Option 3 - Send Command Sets to single device
- Option 4 - Time Library
- Option 5 - Connect to multiple devices and assign unique IP address to VLAN 10
- Option 6 - Netmiko Exception Handling
- Lab 6
- Json
- Lab 7
- Config Backup
After you completed this course, you will be able to:
Programming with Python
Automating frequent actions
System engineers or who wants to develop themselves in Python
Basic Linux knowledge
If you need this course, you can fill out the form or contact us.