Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Python Design Patterns

( Duration: 4 Days )

The Python Design Patterns training course provides the skills needed to incorporate Python programming best practices. You will expand upon your fundamental Python skills to build reliable and stable Python applications and implement design patterns in order to solve common, real-world software design problems.

By attending Python Design Patterns workshop, delegates will learn 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

COURSE AGENDA

1

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
2

Writing "Pythonic" code

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

Handling Exceptions

  • Raising user-defined exceptions
  • Reducing code complexity with context managers and the "with" statement
4

Testing best practices

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

Verifying code behavior

  • Mocking dependent objects with the Mock package
  • Asserting correct code behavior with MagicMock
6

Identifying errors

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

Debugging Python code

  • Extracting error information from exceptions
  • Tracing program execution with the PyCharm IDE
8

Structural patterns

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

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
10

Python REST web services

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

Python REST clients

  • Sending REST requests from a Python client
  • Consuming JSON and XML response data
12

Measuring Application Execution

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

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
14

Managing module versions

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

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
16

Lightweight threads

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

Heavy-weight processes

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

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X