Advanced Python: Best Practices and Design Patterns

Level: Advanced
Rating: 4.6/5 4.58/5 Based on 212 Reviews

This advanced Python training course will expand upon your fundamental Python programming skills to build reliable and stable applications. You will learn to employ design patterns and best practices in Python applications, exploit the OOP features in Python for stable, reliable programs and, create and manage concurrent threads of control. Additionally, learn to generate and consume REST web service requests and responses and increase performance with efficient use of data structures and native code. Learn to implement Gang of Four (GoF) design patterns in order to solve commonly recurring, real-world software design programs, thereby avoiding pitfalls and greatly improving the effectiveness of your programming efforts.

Key Features of this Advanced Python Training:

  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included

You Will Learn How To:

  • Employ design patterns and best practices in Python applications
  • Unit test, debug, and install Python programs and modules
  • Profile program execution and improve performance
  • Apply advanced Python programming features for efficient, reliable, maintainable programs

Choose the Training Solution That Best Fits Your Individual Needs or Organizational Goals

LIVE, INSTRUCTOR-LED

In Class & Live, Online Training

  • 4-day instructor-led training course
  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included
View Course Details & Schedule

Standard $3285

Government $2890

RESERVE SEAT

PRODUCT #1906

TRAINING AT YOUR SITE

Team Training

  • Bring this or any training to your organization
  • Full - scale program development
  • Delivered when, where, and how you want it
  • Blended learning models
  • Tailored content
  • Expert team coaching

Customize Your Team Training Experience

CONTACT US

Save More On Training with FlexVouchers – A Unique Training Savings Account

Our FlexVouchers help you lock in your training budgets without having to commit to a traditional 1 voucher = 1 course classroom-only attendance. FlexVouchers expand your purchasing power to modern blended solutions and services that are completely customizable. For details, please call 888-843-8733 or chat live.

In Class & Live, Online Training

Time Zone Legend:
Eastern Time Zone Central Time Zone
Mountain Time Zone Pacific Time Zone

Note: This course runs for 4 Days *

*Events with the Partial Day Event clock icon run longer than normal but provide the convenience of half-day sessions.

  • Jul 14 - 17 9:00 AM - 4:30 PM PDT Online (AnyWare) Online (AnyWare) Reserve Your Seat

  • Aug 25 - 28 9:00 AM - 4:30 PM EDT Online (AnyWare) Online (AnyWare) Reserve Your Seat

  • Oct 6 - 9 9:00 AM - 4:30 PM EDT Toronto / Online (AnyWare) Toronto / Online (AnyWare) Reserve Your Seat

  • Oct 20 - 23 9:00 AM - 4:30 PM PDT San Francisco / Online (AnyWare) San Francisco / Online (AnyWare) Reserve Your Seat

  • Nov 17 - 20 9:00 AM - 4:30 PM EST Atlanta / Online (AnyWare) Atlanta / Online (AnyWare) Reserve Your Seat

  • Nov 17 - 20 9:00 AM - 4:30 PM EST Boston / Online (AnyWare) Boston / Online (AnyWare) Reserve Your Seat

  • Nov 17 - 20 9:00 AM - 4:30 PM EST Philadelphia / Online (AnyWare) Philadelphia / Online (AnyWare) Reserve Your Seat

  • Nov 17 - 20 9:00 AM - 4:30 PM EST Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

  • Dec 15 - 18 9:00 AM - 4:30 PM EST Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

  • Jan 12 - 15 9:00 AM - 4:30 PM PST Seattle / Online (AnyWare) Seattle / Online (AnyWare) Reserve Your Seat

  • Feb 16 - 19 9:00 AM - 4:30 PM EST New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

  • Mar 29 - Apr 1 9:00 AM - 4:30 PM EDT Toronto / Online (AnyWare) Toronto / Online (AnyWare) Reserve Your Seat

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time — will run. Guaranteed.

Partial Day Event

Learning Tree offers a flexible schedule program. If you cannot attend full day sessions, this option consists of four-hour sessions per day instead of the full-day session.

Advanced Python Course Information

  • Requirements

    • Working knowledge of Python programming to the level of:
      • Course 1905, Python Programming Introduction, or at least three to six months of Python programming experience
  • Software

    • Concepts taught are applicable to all Linux distributions

Advanced Python Course Outline

  • Object-Oriented Programming in Python

    • Extending classes to define subclasses
    • Inheriting from multiple superclasses and mix-in classes
    • Adding properties to a class
    • Defining abstract base classes
  • Exploring Python Features

    Writing "Pythonic" code

    • Customizing iteration and indexing with "magic" methods
    • Modifying code dynamically with monkey patching

    Handling Exceptions

    • Raising user-defined exceptions
    • Reducing code complexity with context managers and the "with" statement
  • Verifying Code and Unit Testing

    Testing best practices

    • Developing and running Python unit tests
    • Simplifying automated testing with the Nose package

    Verifying code behavior

    • Mocking dependent objects with the Mock package
    • Asserting correct code behavior with MagicMock
  • Detecting Errors and Debugging Techniques

    Identifying errors

    • Logging messages for auditing and debugging
    • Checking your code for potential bugs with Pylint

    Debugging Python code

    • Extracting error information from exceptions
    • Tracing program execution with the PyCharm IDE
  • Implementing Python Design Patterns

    Structural patterns

    • Implementing the Decorator pattern using @decorator
    • Controlling access to an object with the Proxy pattern

    Behavioral patterns

    • Utilizing the Iterator pattern with Python generators
    • Laying out a skeleton algorithm in the Template Method pattern
    • Enabling loose coupling between classes with the Observer pattern
  • Interfacing with REST Web Services and Clients

    Python REST web services

    • Building a REST service
    • Generating JSON responses to support Ajax clients

    Python REST clients

    • Sending REST requests from a Python client
    • Consuming JSON and XML response data
  • Measuring and Improving Application Performance

    Measuring Application Execution

    • Timing execution of functions with the "timeit" module
    • Profiling program execution using "cProfile"
    • Manipulating an execution profile interactively with "pstats"

    Employing Python language features for performance

    • Efficiently applying data structures, including lists, dictionaries and tuples
    • Mapping and filtering data sets using comprehensions
    • Replacing the standard Python interpreter with PyPy
  • Installing and Distributing Modules

    Managing module versions

    • Installing modules from the PyPi repository using "pip"
    • Porting code between Python versions

    Packaging Python modules and applications

    • Establishing isolated Python environments with "virtualenv"
    • Building a distribution package with "setuptools"
    • Uploading your Python modules to a local repository
  • Concurrent Execution

    Lightweight threads

    • Creating and managing multiple threads of control with the Thread class
    • Synchronizing threads using locks

    Heavy-weight processes

    • Launching operating system commands as subprocesses
    • Synchronizing processes with queues
    • Parallelizing execution using process pools and Executors

Team Training

Advanced Python Training FAQs

  • Can I learn Advanced Python Training online?

    Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs wherever you want, including online training.

Questions about which training is right for you?

call 888-843-8733
chat Live Chat




100% Satisfaction Guaranteed

Your Training Comes with a 100% Satisfaction Guarantee!*

*Partner-delivered courses may have different terms that apply. Ask for details.

Online (AnyWare)
Online (AnyWare)
Toronto / Online (AnyWare)
San Francisco / Online (AnyWare)
Atlanta / Online (AnyWare)
Boston / Online (AnyWare)
Philadelphia / Online (AnyWare)
Herndon, VA / Online (AnyWare)
Ottawa / Online (AnyWare)
Seattle / Online (AnyWare)
New York / Online (AnyWare)
Toronto / Online (AnyWare)
Preferred method of contact:
Chat Now

Please Choose a Language

Canada - English

Canada - Français