
Follow the lectures in order and don't skip videos, notebooks, quizzes, or coding exercises for learning experience in building 10 network applications with Python, using the Q&A area for troubleshooting.
Install Python 3 on Windows by downloading Python 3.7.1 from python.org, adding Python 3.7 to path, and validating the installation with the Windows command line using the Python interpreter.
Learn how to install Python 3 on macOS using Homebrew, verify existing Python 2.7, install Apple's command line developer tools, and confirm Python 3.7.3 is now available.
Learn the python interpreter and idle in Windows, compare command line with idle, and configure font size, four-space indentation, and shortcuts for multiple sessions.
Access the Python interpreter and Idle on macOS via the terminal with python3 and idle3, address the TCL TK warning, and explore PyCharm, IPython, and Jupyter Notebook as IDE options.
Learn how a Python script is a text file saved with a .py extension and run from the Windows command line, with editors like Notepad Plus Plus used for coding.
Learn how to create and run Python scripts on macOS by saving code as a .py file with any text editor, then running it with python3 to print Hello, Python.
Discover common causes of the 'no such file or directory' error when running Python scripts on Windows command line, including path, .py extension, Python 3, and spaces or quotes.
Learn to capture user input in Python using the input() function, store it in a variable, and print it, enabling interactive menus and simple command prompts.
Learn how Python variables act as memory locations to store values, with automatic declaration, the assignment operator, multiple assignments, and naming rules.
Explore Python 3 data types, including strings, numbers, booleans, lists, sets, frozen sets, tuples, ranges, dictionaries, and non-type, and distinguish mutable from immutable types.
Learn Python from scratch by mastering core concepts—data types, variables, conditionals, loops, functions, modules, strings, methods, arguments, and string formatting—before tackling network apps like ping scripts.
Define strings as character sequences and show assigning with double, single, or triple quotes; use backslashes to escape new lines and index from zero or negative indices with Len.
Explore essential Python string methods, including index, count, find, lower, upper, strip, replace, split, and join, and understand immutability and start with and ends with checks.
Master Python 3 strings by applying concatenation with the plus operator, repetition with the multiplication operator, in and not in checks, and formatting with percent and format methods, string slices.
Discover f-strings, Python's formatted string literals from Python 3.6 via Pep 458, and learn to embed variables and expressions using curly braces, including methods like lower().
Master Python 3 string slices to extract parts of strings and sequences, using start and end indices with end not included, negative indexes, and a step to skip or reverse.
Master Python string slicing using start, stop, and step to extract characters, such as even digits with a step of two and odd digits from index one.
Explores integers and floating point numbers in Python 3, covering arithmetic and comparison operators, precedence, and type conversions with int and float, plus functions like abs, max, min, and pow.
Learn how Python booleans define true and false, compare values with == and other operators, and combine results with and, or, not, while exploring truthiness and the bool() function.
Discover Python lists as mutable sequences enclosed in square brackets, holding elements of any type. Master indexing, len, slicing, and updating list elements, including creating an empty list.
Explore how to manage Python lists and list elements with max, min, append, remove, insert, extend, index, count, sort, reverse, and the sorted function; cover concatenate and repetition, and slicing.
Master Python list slicing by using start and end indices with colons, including negative indices, all elements, and range steps to skip or reverse elements.
Discover how Python sets provide an unordered collection of unique elements, remove duplicates, support add and remove, and check membership with in and not in.
Explore Python set methods by using intersection, difference, and union to compare two sets, then apply pop and clear to manage elements.
Discover frozen sets, the immutable form of Python sets, which cannot be modified but support union, intersection, and difference; create frozensets from lists and use them as dictionary keys.
Explore Python tuples as immutable, ordered sequences with indexing. Learn single-element syntax, tuple packing and unpacking, and error handling for mismatched lengths.
Compare tuples and lists by immutability, fixed versus variable length, syntax with parentheses versus square brackets, and the number of available methods.
Learn to perform common operations on Python tuples, including len, min, max, concatenation, multiplication, indexing, slicing, membership tests with in and not in, and del to delete.
Explore how Python 3 ranges compare with Python 2 and x range, covering start, stop, step, memory concerns, and the renaming and deprecation introduced.
Discover how Python 3 ranges form a distinct data type, convert to lists for slicing, and use indexing, membership tests, and the index method.
Explore dictionaries, Python's unordered collections of key-value pairs enclosed in curly braces; learn keys must be unique and immutable, while values can be any type, and dictionaries are mutable.
Access, add, update, and delete dictionary entries by key; use len and membership checks, and explore keys, values, items, and their order and types.
Explore Python data type conversions, turning numbers into strings and strings into numbers with str, int, and float, and switch among lists, tuples, and sets using bin, hex, and int.
Explore how Python evaluates if, elif, and else conditions using indentation to define code blocks, colons to signal blocks, and clear flow from true expressions to alternatives.
Learn how to use Python 3 for loops to iterate over lists, strings, and ranges, including for-else, index-based access, and the enumerate function.
Learn how while loops differ from for loops in python, how to avoid infinite loops, and how while true supports interactive menus and else blocks.
Master nesting with if, for, and while statements to control logic in Python. Understand indentation and readability, and explore nested for and while loops with practical examples.
Learn how break, continue, and pass govern Python loops. Break ends the innermost loop when a condition triggers; continue skips to the next iteration, and pass serves as a placeholder.
Learn how Python 3 distinguishes syntax errors from runtime exceptions in building network applications, with name errors and zero division examples, and how Python reports the exact line causing issue.
Learn to handle Python 3 exceptions with try/except blocks, multiple except clauses, and else and finally sections, including zero division errors and ensuring smooth program flow.
COURSE STATUS: LEGACY
This course is no longer being maintained, starting January 1st, 2026.
Although the content still brings real value, updates and support have been discontinued.
15+ hours of Python content designed for Network Engineers.
Full Python applications, quizzes and notebooks are included.
Python Cheat Sheet and 200+ pages PDF E-book are included.
Udemy Bestselling Instructor with THOUSANDS of 5* reviews.
Over 100,000 satisfied students across several e-learning platforms.
CERTIFICATE of COMPLETION is also included at the end of the course.
"Have finished 35% of the course, so far it's the best Python-for-network-engineer course I have ever attended, fundamental topics are well demonstrated and explained, I strongly recommend this course to any network engineers who want to master Python in a relatively short period of time." by Parry Wang
What others have to say about my Python courses?
Before you read what I have to say, see what my students are saying about my courses:
"What an incredible value and learning experience!" by Sean A.
"Excellent material. Kudos to a great instructor with a vast level of creativity." by Anthony W.
"I can say this man is going on smoothly and perfectly, explaining in the most empirical/foundational way." by Kolapo A.
What's this course all about?
Python Network Programming course aimed not only at network professionals, but at anyone having little or no experience in Python coding or network automation and a great desire to start learning Python from scratch.
This hands-on Python Network Programming training takes you from "Hello World!" to building 10 network applications with Python in no time.
You will learn Python concepts which are relevant to your networking job and build some amazing network tools:
Introduction - What's This Course All About?
Python - Basics
Python - Strings
Python - Numbers and Booleans
Python - Lists
Python - Sets
Python - Tuples
Python - Ranges
Python - Dictionaries
Python - Conditionals, Loops and Exceptions
Python - Functions and Modules
Python - File Operations
Python - Regular Expressions
Python - Classes and Objects
Python - Advanced Concepts and Tools
Python - Download the Cheat Sheet
Python - Download the E-Book
Setting Up the Working Environment - Part #1
Network Application #1 - Reading / Writing Device Configuration via SSH
Network Application #2 - Building an Interactive Subnet Calculator
Network Application #3 - Extracting Network Parameters & Building Graphs
Network Application #4 - Building a Basic Network Packet Sniffer
Network Application #5 - Config File Management and E-mail Notifications
[EXTRA] Running Python Code via Remote Servers
Setting Up the Working Environment - Part #2
Network Application #6 - Read SNMPv3 objects with Python
Network Application #7 - Build a Basic NMAP Tool with Python
Network Application #8 - Build a Rogue DHCP Server Discovery Tool with Python
Network Application #9 - Filter and Monitor LLDP Log Messages with Python
Network Application #10 - Build an OSPF Network Discovery Tool with Python
Final Section
Sounds unbelievable given your current programming experience? Well, it's true! How?
First, you will learn and practice every Python key concept, which is explained in one or more video lectures, followed by a short quiz. Each video is filled with relevant examples, in a learn-by-doing fashion and the quizzes will help you consolidate the main ideas behind each Python topic.
After laying the foundation (and also exploring some advanced Python topics), you will dive right into the real-life network scenarios and apply your knowledge to build 10 great network tools using the power of Python.
Equipped with working files, cheat sheets and Python code samples, you will be able to work alongside me on each lecture and each application. I will provide the full code for each application, so you can save time and start coding and testing on the spot.
We will use emulated Arista vEOS switches in VirtualBox and/or GNS3 to test our Python apps in a network environment, so you can see the actual results of running your Python code.
I encourage you to learn Python, an amazingly beginner-friendly programming language and take your network engineering job to a higher level of automation.
What others have to say about this course?
"I have been programming since 1978 and wanted to learn python. I have had no java or OOP experience, and I tried several 'paper' tutorials but got little out of them. The first part of this course is a steady walk through the Python language at just the right speed. The instructor seems to touch all the basis in a logical and methodical way while providing examples and explanations. I can only conclude the instructor is a professional educator who spent considerable time structuring and organizing the course. The result is evident. THIS IS A GREAT WAY TO LEARN PYTHON!" by Larry Laswell
"I've tried learning from the books & multiple videos - most were too basic to make a practical app. Some books were too thick and made me sleep. But still none of the materials had the perfect balance like this course where all the basics were covered, instructions were concise, and Mihai walks you through how to create 7 practical apps step by step. I've also tried reading some advanced python book which didn't make sense because it was too advanced. Let me tell you, this is hands down "that course that takes you up to beyond the basics" to bridge you to the advance topics. Right now I'm hitting the advanced topics and it finally makes sense..." by Joon Park
"Usually I'm not doing courses review but this time I will make an exception. During time I took a lot of trainings but very few provided by Udemy proved as having the right approach in teaching the audience. I will mark this one as being one of my personal top three best trainings as content's quality, technical explanations, and additional learning materials perspective. Long story short this course is a very simple, straight forward way of learning Python for managing IT networks." by Johnny Stanescu
"This is a great course for network engineers who would like to start automating their tasks. Geared towards beginners, this course teaches the fundamentals of programming and applying those concepts to networking. There is a lot of fluff about python on the internet, however the instructor managed to put together the necessary information to start automating the network. A working knowledge of TCP/IP is needed to get the most out of this course. Should you understand every lecture, you will be ready to start writing your own scripts according to your needs. In particular, I loved the use of scapy, an amazing tool which should be in the arsenal of anyone working with TCP/IP." by Costin-Alin Neacsu
"I've seen the blueprint and some demo videos and I was convinced right away. Without a doubt, it's one of the best trainings a network engineer can have. It gives you actual valuable and marketable skills that you can use in your daily job. Mihai explains the topics really well, with practical examples making it a fun way to learn. Highly recommended." by Vlad Vlaicu
Important information before you enroll!
Don't forget you are covered by a 30-day money back guarantee, full refund, no questions asked.
Once enrolled, you have unlimited, 24/7, lifetime access to the course.
"I would firstly thank you for making this course . Secondly, i did like the approach. You understand the mindset of the beginner. I would recommend this course for all those who want to consider using Python for network automation." by Pramod Ramu
Enroll NOW and hop on the Python Network Programming and Automation train. Let's get started!