Skip to main content
Get a Quote
Course Enquiry
Contact Us

Advanced Python Course Details


In this course you will learn how to use some of the more advanced features of Python.  Including Adv Iteration, Decorators, Meta Classess, Multi Processing etc.

Audience:

Programmers with knowledge of python.

 

Pre-Requisites:

Python Programming course or equivalent experience

 

Duration:

3 Days

Price:

$1,000.00 If you are currently resident in South Africa you will need to pay VAT at 14%.

PC Hire:

$99   *Bring a PC

Note: information may change without notice.

About Advanced Python

Python is now one of the most used Programming languages. Python general purpose, is easy to use and very high level.

Course Outline


 Recap of Python Concepts

  •  Python Syntax
  •  Using Variables
  •  Functions
  •  optional Arguments
  •  lambda
  •  Simple lambda functions
  •  Map
  •  Filter
  •  List Comprehension
  •  Generator expression
  •  Generator Functions
  •  Updown

 Iteration Patterns in Python

  •  Itertools
  •  Abstracting iteration
  •  Iterable Pattern
  •  Low Level Iteration

Object Orientation

  • Modules
  • import
  • import invocation
  • class
  • class variable
  • methods
  • instance vars
  • constructor
  • inheritance
  • exceptions
  • raising exceptions
  • traceback
  • object special attributes
  • descriptors

Decorators

  •  Closure
  •  Applying closure
  •  Decorator Equivalent
  •  Decorators with args
  •  Example in Documentation

 MetaClasses

  •  Class Decorator
  •  Class Decorator
  •  Apply Class Decorator
  •  Classes are instances of type
  •  Create Class with type
  •  Default MetaClass is type
  •  Example MetaClass
  •  __new__
  •  Using __new__() to alter class properties

 Collections

  •  With and Context Managers
  •  Opening Files
  •  With equivalent
  •  How it works
  •  file context
  •  My Context Manager
  •  Output
  •  Context Decorator

Regular Expressions

re module

Profiling and Performance

  • Calling cProfile
  • The Muppy Module
  • The Muppy Module
  • You can create summaries
  • Compare them with other summaries
  • The tracker module
  • Reference Browser
  • ConsoleBrowser
  • Performance Tips
  • Choose the Right Data Structure
  • Sorting
  • String Concatenation
  • Loops
  • Avoiding dots

Multithreading

  • GIL
  • Thread and Threading
  • Using threading.Thread
  • Thread constructor args
  • Two Approaches to Thread
  • Trivial Example
  • Local Storage
  • Safe Multi Threading
  • Locking
  • Problems with Simple Locking
  • Re-Entrant Locks (RLock
  • Semaphores
  • Events
  • Conditions
  • Queue Module

Parallell Processing

  • The Process class
  • Forking other processes
  • os.system
  • os.popen
  • subprocess
  • subprocess.Popen class
  • Popen arguments
  • Popen examples
  • subprocess functions

Async Programming

  • Concurrent Futures
  • Coroutines
  • Asycio/Trollius
  • Future and Callbacks
  • Async IO TCP
  • Tornado Web Server
  • REST
  • Hello World
  • Asynchronous routines
  • Interacting with C
  • The instant module
  • The ctypes module

Delivery Method

Instructor Led classroom based training. Scheduled classes are normally held in Woodmead - near to Sandton in Johannesburg, Gauteng, South Africa. Stationary and textbook included. Refreshments, including 2 tea breaks and a cooked meal for lunch are provided for full time courses. Contact hours are between 9am to 4pm.

Scheduled Dates


To apply for a booking, click on the relevant "Book Now" button below.
Note: places are only fully secured once payment has been made.

Start Date Duration  
Thu 8 Mar 2018 2 Days
Mon 12 Mar 2018 3 Days