Course Overview
TOPThe Programming for Network Engineers (PRNE) course is designed to equip you with fundamental skills in Python programming. Through a combination of lectures and lab experience in simulated network environments, you will learn to use Python basics to create useful and practical scripts with Netmiko to retrieve data and configure network devices. Upon completion of this course, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts.
This course will help you:
- Explain the need for network engineers to learn how to program
- Explain how programming relates to the journey into network automation and programmability
- Create useful and practical scripts to retrieve data and configure network devices
- Create, apply, and troubleshoot simple network automation scripts
- Gain hands-on experience with Python programming
Scheduled Classes
TOPOutline
TOPIntroducing Programmability and Python for Network Engineers
- Programmability
- Continued Importance of the CLI
- Need for Python
- First Python Program
Scripting with Python
- Running a Python Script
- Python Interactive Shell
- Editors and IDEs
Examining Python Data Types
- String Data Type
- Integer Data Type
- Float Data Type
- Boolean Data Type
- Type() Function
- Python Variables
- List Analysis
- Tuple Data Analysis
- Data Set Types
- Python Dictionary
- Nested Data Types
- Navigating Complex Data Structures
Manipulating Strings
- String Manipulation
- String Splitting
- Modifying Strings
- String Contacenation
- Whitespace Stripping
- Formatting and Templating
- Escape Characters
- Regular Expressions
- String Methods
Describing Conditionals, Loops, and Operators
- Whitespace and PEP 8
- Conditionals
- Operators
- Example of Using Conditionals
- Loops
- Loops with Lists, Dicts and Ranges
Exploring Classes, Methods, Functions, Namespaces, and Scopes
- Practical Reuse of Codes
- Functions
- Code Commenting
- Namespaces and Scopes
- Classes and Methods
- Using Inheritance to Extend Functionality
- Main Construct
Exploring Data Storage Options
- Data Formats
- Readng Data from a Simple Text and CSV File
- Writing Data to a Simple Text and CSV File
- Reading Data from a JSON Text File
- Writing Data to a JSON Text File
- Data Access in a RAW or Unstructured Format
Exploring Python Modules and Packages
- Python Standard Library Modules
- Reusable code with Modules and Packages
Gathering and Validating User Input
- Obtaining User Input
- Command-Line Arguments
Analyzing Exceptions and Error Management
- Errors and Exceptions
- Managing Exceptions
- Assertions
Examining Debugging Methods
- Code Debugging Process
- Python Debugging Functions
- Debuggers
- Python Debugger
- Pdb Commands
Prerequisites
TOPAttendees should meet the following prerequisites:
- Familiarity with Cisco IOS -XE software or other Cisco network device configuration and operation skills
- Basic network management knowledge
Recommended prerequisites:
- CCNA - Implementing and Administering Cisco Solutions
Who Should Attend
TOPNetworking individuals looking to understand the fundamentals of Python programming which is essential for today s software defined networks.