Preferred method of contact:

Advanced Python: Best Practices and Design Patterns

COURSE TYPE

Advanced

Course Number

1906

Duration

4 Days

PDF Add to WishList

Expand upon your fundamental Python programming skills to build reliable and stable applications. In this training course, you 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.

You Will Learn How To

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

Important 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

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
Show complete outline
Show Less

Convenient Ways to Attend This Instructor-Led Course

Hassle-Free Enrolment: No advance payment required to reserve your seat.
Tuition due 30 days after you attend your course.

In the Classroom

Live, Online

Private Team Training

In the Classroom — OR — Live, Online

Tuition — Standard: $3285   Government: $2890

Jun 5 - 8 (4 Days)
9:00 AM - 4:30 PM EDT
Online (AnyWare) Online (AnyWare) Reserve Your Seat

Advanced Python: Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Jun 5 - 8 (4 Days) 9:00 AM - 4:30 PM EDT Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Jul 17 - 20 (4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

Advanced Python: Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Jul 17 - 20 (4 Days) 9:00 AM - 4:30 PM EDT Herndon, VA / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Aug 28 - 31 (4 Days)
9:00 AM - 4:30 PM EDT
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Advanced Python: Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Aug 28 - 31 (4 Days) 9:00 AM - 4:30 PM EDT New York / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Oct 2 - 5 (4 Days)
9:00 AM - 4:30 PM EDT
Herndon, VA / Online (AnyWare) Herndon, VA / Online (AnyWare) Reserve Your Seat

Advanced Python: Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Oct 2 - 5 (4 Days) 9:00 AM - 4:30 PM EDT Herndon, VA / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Dec 4 - 7 (4 Days)
9:00 AM - 4:30 PM EST
Online (AnyWare) Online (AnyWare) Reserve Your Seat

Advanced Python: Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Dec 4 - 7 (4 Days) 9:00 AM - 4:30 PM EST Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

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, location — will run. Guaranteed.

Private Team Training

Enroling at least 3 people in this course? Consider bringing this (or any course that can be custom designed) to your preferred location as a private team training.

For details, call 1-888-843-8733 or Click here »

Tuition

Standard

Government

In Classroom or
Online

Standard

$3285

Government

$2890

Private Team Training

Contact Us »

Course Tuition Includes:

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online any time after class.

Prev
Next

Training Hours

Standard Course Hours: 9:00 am – 4:30 pm
*Informal discussion with instructor about your projects or areas of special interest: 4:30 pm – 5:30 pm

- ,

Prev
Next
Chat Now

Please Choose a Language

Canada - English

Canada - Français