Code Maven

Advanced Python Programming

This, along with the other courses can be given either on-site in the offices of the client or on-line via Zoom or other means. Contact Gabor Szabo for more details.

Overview

Goals

  • 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.

Prerequisites

  • Beginner Python course
  • Experience with the basics of Python

Course format

  • Duration of the course is 24-32 academic hours. (Usually 3-4 days).
  • The course includes approximately 40% hands on lab work.
  • In the 4 day long version we allocate more time for exercises and have more time for individual help.

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

Resources


If you are interested in this course, contact Gabor Szabo for more details.