Duration 5 Days 30 CPD hours This course is intended for Experienced Programmers and Systems Administrators. Overview Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. This course is ?skills-centric?, designed to train attendees in core Python and web development skills beyond an intermediate level, coupling the most current, effective techniques with best practices. Working within in an engaging, hands-on learning environment, guided by our expert Python practitioner, students will learn to: ? Create working Python scripts following best practices ? Use python data types appropriately ? Read and write files with both text and binary data ? Search and replace text with regular expressions ? Get familiar with the standard library and its work-saving modules ? Use lesser-known but powerful Python data types ? Create 'real-world', professional Python applications ? Work with dates, times, and calendars ? Know when to use collections such as lists, dictionaries, and sets ? Understand Pythonic features such as comprehensions and iterators ? Write robust code using exception handling An introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features. An Overview of Python What is python? 1 -- An overview of Python What is python? Python Timeline Advantages/Disadvantages of Python Getting help with pydoc The Python Environment Starting Python Using the interpreter Running a Python script Python scripts on Unix/Windows Editors and IDEs Getting Started Using variables Built-in functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits Sequences About sequences Lists and list methods Tuples Indexing and slicing Iterating through a sequence Sequence functions, keywords, and operators List comprehensions Generator Expressions Nested sequences Working with files File overview Opening a text file Reading a text file Writing to a text file Reading and writing raw (binary) data Converting binary data with struct Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Parameters Global and local scope Nested functions Returning values Sorting The sorted() function Alternate keys Lambda functions Sorting collections Using operator.itemgetter() Reverse sorting Errors and Exception Handling Syntax errors Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages The import statement Module search path Creating Modules Using packages Function and Module aliases Classes About o-o programming Defining classes Constructors Methods Instance data Properties Class methods and data Regular Expressions RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groups Replacing text Splitting strings The standard library The sys module Launching external programs Math functions Random numbers The string module Reading CSV data Dates and times Working with dates and times Translating timestamps Parsing dates from text Formatting dates Calendar data Working with the file system Paths, directories, and filenames Checking for existence Permissions and other file attributes Walking directory trees Creating filters with fileinput Using shutil for file operations 17 ? Advanced data handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Advanced data handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Network services Grabbing web content Sending email Using SSH for remote access Using FTP Writing real-life applications Parsing command-line options Detecting the current platform Trapping signals Implementing logging Python Timeline Advantages/Disadvantages of Python Getting help with pydoc
Python Programming from Scratch with MySQL Database is a beginner-friendly course designed to teach you everything you need to know to start with Python programming and MySQL databases. Using these powerful tools, you'll learn how to build dynamic web applications and websites.
Leverage pytest's fast, scalable, and professional-grade framework design to build and run automated test suites like a pro
This course will help you get started with automation testing of web applications. You will cover the basic and advanced topics of Selenium and Python, along with unit tests, pytest, cross-browser testing, logging infrastructure, automation framework design, Jenkins, and a lot more.
This course takes you through the concepts of object-oriented programming (OOP) and shows you how to use them for writing flawless Python programs.
Through this course, you will learn to transform yourself from a passive learner who watches to one who sees the process of learning for what it truly is-a mechanism to better oneself. You will build 40 amazing applications to master the concepts of computer science and Python programming.
Advanced Python training course description This course caters to network engineers aiming to enhance both their Python proficiency and network automation skills. Delving deeper into key areas such as netmiko, Nornir, and ncclient, we also focus on automating network testing and validation. Participants gain greater confidence working with Python functions, classes, objects, and error handling. The course additionally introduces more libraries like Scrapli, TTP, pyATS, Genie, pybatfish, and Suzieq, which cover parsing strategies, automation testing, validation, network analysis, observability, and telemetry. The curriculum also encompasses concurrency techniques. What will you learn Write Python modules and functions. Evaluate techniques to parse unstructured data. Use NETCONF filters. Handle Python errors effectively (try, assertâ¦). Use postman. Automate testing and validation of the network. Use scrapli, Genie, batfish and Suzieq. Advanced Python training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers Duration 5 days Advanced Python training course contents Review CLI, NETCONF, RESTCONF, structured versus unstructured data, gNMI and when to use which. PEP 8. Naming conventions. Packages, modules, Classes and methods. The scrapli library. Netmiko versus scrapli. Hands on: scrapli, Dictionaries versus Regular Expressions. Modules and Functions Writing your own modules, containers versus packages, virtual environments. Best practices, calling functions, writing your own functions. Parameters, arguments. Named arguments, dictionaries as arguments. Builtins. Docstrings. Main. __name__, __main__ . Program arguments. Hands on: Getting interfaces, showing interface status using Netmiko and functions. Using dictionaries as arguments. Writing your own modules. Parsing strategies Turning unstructured data into structured data. textfsm, PyATS Genie parser, NAPALM getters, Template Text Parser. Hands on: Genie parser, TTP. Accessing structured data with lists and dictionaries. Classes, objects and Python Python classes in Genie, PyEZ and others . Hands on: studying network automation classes, objects, methods and attributes. Configuration management - more nornir, ncclient, requests Nornir tasks. Nornir results, Nornir functions, Nornir plugins. Nornir processors. YANG, YANG models, pyang. NETCONF hello. Capabilities. Schemas. Filters. Subtrees. XPATH. Exploring available YANG data models. NETCONF and network wide transactions. Asserting NETCONF capabilities. Configuration types. Locking configurations, commits. NETCONF data stores. Netconf-console. RESTCONF differences from NETCONF. URI construction. Postman. More XML and JSON. Git and configuration versions. Hands on: Nornir and Jinja2. Exploring available models, NETCONF filters. Using postman. Python error handling and debugging Context handlers, try, assert, logging, pdb, pytest, unit testing, chatgpt. Hands on: Writing code with each of the error handling methods, investigating what happens on an error. Use chatgpt to debug your code. Python Automation Testing Testing and validation. pyATS, Genie. Testbed file. Genie parse, genie learn, genie diff. Genie conf, Genie ops, Genie SDK, Genie harness. Xpresso. Hands on: Using Genie for state comparisons of the network. Network analysis Batfish, pybatfish, configuration analysis, analysing routing, analysing ACLs. Pandas. Pandas dataframe. Filtering and selecting values of interest. Hands on: Use Batfish to analyse network snapshots, find network adjacencies, flow path analysis. Network observability Suzieq, using docker, using as a package. Sqpoller, suzieq-gui, suzieq-cli, sq-rest-server. Namespaces and seeing devices, network state and Asserts. Time based analysis, snapshots and changes. Hands on: Suzieq: Gathering data from the network, analysing data from the network. Network state assertion. Telemetry gRPC, gNMI. CAP, GET, SET. Subscriptions. Model Driven telemetry. Hands on: Analysing telemetry data with Python. Concurrency asyncio, threads, processes. Nornir concurrency. Scrapli and netmiko concurrency. Hands on: Multiple SSH connections to devices at same time. Scarpli asyncio.