Advanced Python: Best Practices and Design Patterns

Price: $2,295.00
Course Outline

This advanced Python training course will expand your foundational Python programming skills to build reliable and stable applications. In this course, you will learn how to:

  • Employ design patterns and best practices in Python applications
  • Exploit the object-oriented programming features in Python for stable, reliable programs
  • Create and manage concurrent threads of control
  • Generate and consume REST web service requests and responses
  • Implement Gang of Four (GoF) design patterns to solve commonly recurring software design problems

Advanced Python: Best Practices and Design Patterns Benefits

  • Unit test, debug, and install Python programs and modules

  • Profile program execution and improve performance

  • Apply advanced Python programming features for efficient, reliable, and maintainable programs

  • Gain knowledge and skills applicable to all Python environments, including Microsoft Windows, macOS, and all Linux and UNIX distributions

  • Test your knowledge in the included end-of-course exam

  • Continue learning and face new challenges with after-course one-on-one instructor coaching

Advanced Python Course Outline

Module 1: Object-Oriented Programming in Python

In this module, you will learn how to:

  • Extend classes to define subclasses
  • Add properties to a class
  • Define abstract base classes

Module 2: Exploring Python Features

In this module, you will learn how to:

  • Write "Pythonic" code
  • Modify code dynamically with monkey patching
  • Process large data structures efficiently with generators
  • Handle exceptions
  • Raise user-defined exceptions
  • Reduce code complexity with context managers and the "with" statement

Module 3: Verifying Code and Unit Testing

In this module, you will learn how to:

  • Develop and run Python unit tests
  • Simplify automated testing with the Pytest package
  • Verify code behavior
  • Mock dependent objects with the Mock package
  • Use mock objects to verify code behavior when exceptions occur

Module 4: Detecting Errors and Debugging Techniques

In this module, you will learn how to:

  • Log messages for auditing and debugging
  • Check your code for potential bugs with Pylint
  • Debug your Python code
  • Extract error information from exceptions
  • Trace program execution with the PyCharm IDE

Module 5: Implementing Python Design Patterns

In this module, you will learn how to:

  • Implement the Decorator pattern using @decorator
  • Control access to an object with the Proxy pattern
  • Lay out a skeleton algorithm in the Template Method pattern
  • Enable loose coupling between classes with the Observer pattern

Module 6: Interfacing with REST Web Services and Clients

In this module, you will learn how to:

  • Build a REST service
  • Generate JSON responses to support Ajax clients
  • Send REST requests from a Python client
  • Consume JSON and XML response data

Module 7: Measuring and Improving Application Performance

In this module, you will learn how to:

  • Time execution of functions with the "timeit" module
  • Profile program execution using "cProfile"
  • Manipulate an execution profile interactively with "pstats"
  • Efficiently apply data structures, including lists, dictionaries, and tuples
  • Map and filter data sets using comprehensions
  • Replace the standard Python interpreter with PyPy

Module 8: Installing and Distributing Modules

In this module, you will learn how to:

  • Install modules from the PyPi repository using "pip"
  • Port code between Python versions
  • Package Python modules and applications
  • Establish isolated Python environments with "virtualenv"
  • Build a distribution package with "setuptools"
  • Upload your Python modules to a local repository

Module 9: Concurrent Execution

In this module, you will learn how to:

  • Create and manage multiple threads of control with the Thread class
  • Synchronize threads using locks
  • Launch operating system commands as subprocesses
  • Synchronize processes with queues
  • Parallelize execution using process pools and Executors
Course Dates
Attendance Method
Additional Details (optional)

Price: $2,295.00