skip to Main Content

Introduction to Python for Network Engineers

In this training, Python programming is taught to Network Engineers with live device examples.

8 Person

11.03 - 14.03.2025

4 Days

09:30-16:30

Altunizade Education Center + Online

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

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

    Contact us for more information!

    ARE YOU READY?

    If you need this course, you can fill out the form or contact us.

      Contact us for more information!

      Back To Top