Type to search LearningTree.com

Do you mean "{{response.correctedQuery}}" ?

Sorry, no results were found for your query.

Please check your spelling and try your search again.

 

Perl and Python









Preferred method of contact?

Advanced Python: Best Practices and Design Patterns

COURSE TYPE

Advanced

Course Number

1906

Duration

4 Days

Enroll

About This Course: This advanced Python Programming course provides the skills needed to incorporate Python programming best practices. Attendees expand upon their fundamental Python skills to build reliable and stable Python applications and implement design patterns in order to solve common, real-world software design problems.

You Will Learn How To

  • Employ design patterns and best practices in Python applications
  • Apply advanced Python programming features for reliable programs
  • Create and manage concurrent threads of control
  • Generate and consume REST web service requests and responses
  • Profile program execution and improve performance
  • Unit test, install and distribute Python programs and modules

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

Course Schedule

Attend this live, instructor-led course In-Class or Online via AnyWare.

Hassle-Free Enrollment: No advance payment required.
Tuition due 30 days after your course.

Dec 6 - 9 New York/AnyWare Enroll Now

How would you like to attend?

Live, Online via AnyWare
In-Class

Mar 7 - 10 Rockville, MD/AnyWare Enroll Now

How would you like to attend?

Live, Online via AnyWare
In-Class

Jun 6 - 9 Rockville, MD/AnyWare Enroll Now

How would you like to attend?

Live, Online via AnyWare
In-Class

Jul 25 - 28 AnyWare Enroll Now

How would you like to attend?

Live, Online via AnyWare

Sep 5 - 8 Rockville, MD/AnyWare Enroll Now

How would you like to attend?

Live, Online via AnyWare
In-Class

Guaranteed to Run

Bring this Course to Your Organization and Train Your Entire Team
For more information, call 1-888-843-8733 or click here

Tuition

Standard

$2990

Government

$2659

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 course exam on the last day of your course and receive a Certificate of Achievement with the designation "Awarded with Distinction."

Prev
Next

Questions

Call 1-888-843-8733 or click here »

An experienced training advisor will happily answer any questions you may have and alert you to any tuition savings to
which you or your organization may be entitled.

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


FREE Online Course Exam (if applicable) – Last Day: 3:30 pm – 4:30 pm
By successfully completing your FREE online course exam, you will:

  • Have a record of your growth and learning results.
  • Bring proof of your progress back to your organization
  • Earn credits toward industry certifications (if applicable)
  • Make progress toward one or more Learning Tree Specialist & Expert Certifications (if applicable)

Enhance Your Credentials with Professional Certification

Learning Tree's comprehensive training and exam preparation guarantees that you will gain the knowledge and confidence to achieve professional certification and advance your career.

Earn 23 Credits from NASBA

This course qualifies for 23 CPE credits from the National Association of State Boards of Accountancy CPE program. Read more ...

- ,

Prev
Next
s