Advanced Python Programming

Objectives

  • To master the rich set of Python libraries and modules.
  • Use Object Oriented programming techniques.
  • Use various advanced programming techniques available in Python.

Audience

  • This is an advanced Python course suitable for people who already have Python programming background.

Course Format

  • Duration of the course is 32 academic hours. (Usually 4 days).
  • The course includes approximately 40% hands on lab work.

Prerequisites

  • Beginner Python course
  • Experience with the basics of Python

Syllabus

Data types advanced programming techniques

  • Advanced uses of built-in data types (including slices on sequences).
  • Functional programming (lambda, map, reduce, filter, zip).
  • Comprehensions (list, dictionary, and set).

Object Oriented Programming in Python

  • Objects in Python
  • Classes
  • Instances
  • Scoping issues
  • Class methods
  • Instance methods
  • Properties
  • Overloading (with and without the operator module).

Iterators and Generators

  • Iterators (including sorted and reversed, and use of itertools)
  • Generators (including generator comprehensions and pipelines)
  • Decorators

Advanced programming techniques

  • Unit Test Framework (brief introduction)
  • The 'with' statement
  • Optimizing Python code
  • Design patterns
  • Forks to processes and threads
  • Networking, Servers & Clients - time permitting
  • Asynchronous programming in Python

Web development

  • Web development using WSGI
  • Web development using Flask

Let's talk

If you would like to bring this course to your organization, let's talk about it! You can reach me via email at gabor@szabgab.com or you can go ahead and schedule a chat:

Schedule a call