Course 595:
Advanced Python Programming

(2 days)

 

Course Description

This course presents advanced topics in Python for professional programming. Each topic contains sections on logging, testing, debugging, profiling, and packaging. The course covers theory only where it will enhance programming ability. For each topic, the course presents one example, one or two new development exercises with class solutions, and one or tow debugging exercises.

Learning Objectives

  • Programming tools: Microsoft VC, Git, Jupyter notebooks, pydoc
  • Programming techniques: logging, testing, debugging profiling, packaging
  • New techniques introduced after Python 3.8
  • Details of decorators, lambdas, and comprehensions
  • Why and how to use iterators and generators
  • Details of advanced data structures: collections, arrays, queues, sets, dictionaries
  • Network client-server: JSON, RPC, REST, and FTP
  • Advanced introduction to concurrent programming: signals and timers, subprocesses, multiprocessing, threads, and concurrent.futures

Who Should Attend

Programmers who want to expand their Python knowledge into advanced topics.

Suggested Prerequisites

Three months of active programming in Python or completion of an introduction and intermediate course in Python.


Course Outline

Python Development Tools

  • Introduction to Microsoft Visual Studio for Python 3
  • Introduction to Git for Programmers
  • Introduction to Python Documentation

Programming Techniques

  • How to Use Logging
  • Testing for Modification
  • Debugging Techniques for Faster Programming
  • Profiling
  • Simple Packaging

Some New Techniques and Modules

  • Dictionary
  • String Additions
  • Function Additions
  • Assignment Expression, Operator, and Walrus
  • Match Case Statement
  • Union Operator
  • Regular Expressions

Decorators, Closures, Lambdas, and Comprehensions

  • What Is a Decorator and Why Are They So Useful?
  • Understanding How Decorators Work
  • Using Decorators
  • Writing a Simple Decorator
  • Introduction to Closures
  • Lambdas vs. Comprehensions

Iterators and Generators

  • What are Iterators and Generators?
  • System Functions That Are Iterators
  • Generators
  • Techniques for Using Iterators and Generators

Data Structures

  • Collections
  • Arrays
  • Queues
  • Sets

Network Client-Server

  • Basic Architectures
  • The Need for Encoding
  • Client-Server Programming RPC
  • Client-Server Programming REST

Concurrent Programming

  • What Is Concurrent Programming?
  • Signals and Timers
  • Working with subprocesses
  • Techniques of Thread Programming
  • Details of Multiprocessing
  • Using Concurrent.Futures

Please Contact Your ROI Representative to Discuss Course Tailoring!