Advanced Python Programming / Next-Level Python

Enhance your programming skills with the Advanced Python Programming course—ideal for software developers, data analysts, and engineers looking to master Python's advanced features for real-world applications.

Course Thumbnail

Essential Skills Gained

Checkmark

Design efficient and maintainable Python applications by leveraging advanced data structures and best practices.

Checkmark

Implement effective automation and system operations using Python scripting for tasks including file management and OS services.

Checkmark

Understand and utilize databases, APIs, and web services integration through SQL and ORM tools in Python.

Checkmark

Improve performance and scalability in your programs using concurrency techniques like threading and asynchronous programming.

Format

  • Instructor-led
  • 4 days with lectures and hands-on labs.

Audience

  • Software Developers
  • Data Analysts
  • System Administrators
  • Engineers

Description

Advanced Python Programming is a four-day, expert-led course designed for professionals with basic Python experience who want to move beyond simple scripts and develop real-world programming expertise. Python is a powerful and versatile language, but to fully harness its potential, you need to understand how to write more efficient, scalable, and maintainable code. This course helps bridge that gap by focusing on practical skills that make your Python development faster, more organized, and better suited for professional applications. Guided by our expert instructor, you will gain hands-on experience with Python’s advanced features, learning how to work with OS services, automate tasks, manage files and directories, and apply best practices in structuring and optimizing your code. These next-level skills are essential for anyone looking to build robust applications, streamline workflows, or handle large-scale data processing. You will learn how to debug and profile code effectively, implement unit tests using PyTest, and interact with databases using SQL and ORM tools. You will also explore network programming, work with APIs, and leverage concurrency techniques like threading, multiprocessing, and asynchronous programming to improve performance. For those interested in application development, the course includes practical instruction on GUI development with PyQt, as well as working with structured data formats like JSON, XML, and YAML. With 50% of the course dedicated to hands-on exercises, you will not just learn these skills—you will apply them in real scenarios, giving you the confidence and experience to use Python effectively in professional settings.

Calendar icon

Upcoming Course Dates

July 28-31, 2025

10:00 AM - 6:00 PM

Virtual: Online - US/Eastern

Guaranteed to Run

Enroll

$2395

Course Outline

Download PDF

Python refresher

  1. Builtin data types

  2. Lists and tuples

  3. Dictionaries and sets

  4. Program structure

  5. Files and console I/O

  6. If statement

  7. for and while loops

OS Services

  1. The os and os.path modules

  2. Environment variables

  3. Launching external commands with subprocess

  4. Walking directory trees

  5. Paths, directories, and filenames

  6. Working with file systems

Dates and Times

  1. Basic date and time classes

  2. Different time formats

  3. Converting between formats

  4. Formatting dates and times

  5. Parsing date/time information

Binary Data

  1. What is Binary Data?

  2. Binary vs text

  3. Using the Struct module

Pythonic Programming

  1. The Zen of Python

  2. Tuples

  3. Advanced unpacking

  4. Sorting

  5. Lambda functions

  6. List comprehensions

  7. Generator expressions

  8. String formatting

Functions, modules, and packages

  1. Four types of function parameters

  2. Four levels of name scoping

  3. Single/multi dispatch

  4. Relative imports

  5. Using init effectively

  6. Documentation best practices

Intermediate classes

  1. Class/static data and methods

  2. Inheritance (or composition)

  3. Abstract base classes

  4. Implementing protocols (context, iterator, etc.) with special methods

Metaprogramming

  1. Implicit properties

  2. globals() and locals()

  3. Working with object attributes

  4. The inspect module

  5. Callable classes

  6. Decorators

  7. Monkey patching

Developer Tools

  1. Analyzing programs with pylint

  2. Using the debugger

  3. Profiling code

  4. Testing speed with benchmarking

Unit testing with PyTest

  1. What is a unit test?

  2. Writing tests

  3. Working with fixtures

  4. Test runners

  5. Mocking resources

Database access

  1. The DB API

  2. Available Interfaces

  3. Connecting to a server

  4. Creating and executing a cursor

  5. Fetching data

  6. Parameterized statements

  7. Using Metadata

  8. Transaction control

  9. ORMs and NoSQL overview

PyQt

  1. Overview

  2. Qt Architecture

  3. Using designer

  4. Standard widgets

  5. Event handling

  6. Extras

Network Programming

  1. Builtin classes

  2. Using requests

  3. Grabbing web pages

  4. Sending email

  5. Working with binary data

  6. Consuming RESTful services

  7. Remote access (SSH)

Multiprogramming

  1. The threading module

  2. Sharing variables

  3. The queue module

  4. The multiprocessing module

  5. Creating pools

  6. About async programming

Scripting for System Administration

  1. Running external programs

  2. Parsing arguments

  3. Creating filters to read text files

  4. Implementing logging

Serializing data

  1. Parsing XML with ElementTree

  2. Updating the XML tree

  3. Creating new XML documents

  4. Reading/Writing JSON data

  5. Reading/writing CSV data

  6. YAML, other formats

Virtual Environments

  1. Use case for

  2. Creating an environment

  3. Activating and deactivating

  4. Replicating an environment

  5. Useful tools

Type hinting

  1. Annotate variables

  2. Learn what type hinting does NOT do

  3. Use the typing module for detailed type hints

  4. Understand union and optional types

  5. Write stub interfaces

Advanced data handling

  1. Discover the collections module

  2. Use defaultdict, Counter, and namedtuple

  3. Create dataclasses

  4. Store data offline with pickle

Your Team has Unique Training Needs.

Your team deserves training as unique as they are.

Let us tailor the course to your needs at no extra cost.