Python Programming 2

Course Code: PYP2

Duration: 3 days

 
 
 
 

Python Programming 2 Course Overview

The Python Programming 2 course comprises sessions dealing with advanced object orientation, iterators and generators, comprehensions, decorators, multithreading, functional programming, web services, and unit testing.

The delegate will learn how to exploit advanced features of the Python language to build complex and efficient applications.

Similarly, the course is targeted to closely follow the official Python Institute curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

This course aims to provide the delegate with the knowledge to be able to interpret, write, and troubleshoot complex Python applications exploiting inheritance and polymorphism, mixins, composition and aggregation, iterators, generators, decorators, comprehension, concurrency, functional programming, and RESTful web services.

Who will the Course Benefit?

The Python Programming 2 course is designed for existing Python developers who have a good grounding in the basics and want to exploit some of the advanced features of the language.

For the delegate for whom Python is their first programming language, we recommend taking the Python Programming 1 course first, then taking some time to practice the skills gained, before returning to take the Python Programming 2 course.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Encapsulating classes
  • Introspection
  • Exploiting polymorphism using inheritance and mixins
  • Associating objects via composition and aggregation
  • Working with static members
  • Using iterators as an alternative to for
  • Constructing custom iterators
  • Constructing functions that yield generators
  • Manipulating lists, sets, and dictionaries using comprehension
  • Exploiting aspect oriented programming using decorators
  • Writing multithreaded code
  • Sharing data between threads
  • Processing collections using lambdas
  • Building RESTful clients
  • Building RESTful APIs
  • Testing units of code

Python Programming 2 Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: ADVANCED OBJECT ORIENTATION

  • The self Keyword
  • Constructors and Destructors
  • Encapsulation
  • Inheritance
  • Introspection with __dict__, __name__, __module__, __bases__
  • The hasattr(obj,attr), dir(obj), help(obj) functions
  • Polymorphism
  • Abstract Classes
  • Multiple Inheritance and Mixins
  • Composition and Aggregation
  • Static Members

Session 2: ITERATORS & GENERATORS

  • Iterables
  • Iterators
  • Custom Iterators
  • Generators
  • Yield vs. Return

Session 3: COMPREHENSIONS

  • List Comprehension
  • Set Comprehension
  • The zip Function
  • Dictionary Comprehension

Python Programming 2 Training Course

Session 4: DECORATORS

  • Decorators
  • Decorator Functions
  • Decorator Annotations
  • Decorator Use Cases
  • Labs

Session 5: FUNCTIONAL PROGRAMMING

  • Functional Programming
  • Lambdas
  • Immutability
  • Mapping
  • Filtering
  • Reducing

Session 6: MULTITHREADING

  • Threads
  • Multithreading
  • Thread Construction
  • Thread Execution
  • Thread Sleep
  • Joins
  • Data Sharing
  • Synchronisation
  • Multithreading vs. Multiprocessing

Python Programming 2 Training Course

Session 7: WEB SERVICES

  • RESTful Web Services
  • JSON Data
  • CRUD and HTTP
  • RESTful Clients
  • RESTful APIs

Session 8: UNIT TESTING

  • Unit Testing Terminology
  • Test Classes
  • Test Fixtures
  • Test Cases
  • Assertions
  • Test Runners
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Examinations

This Python Programming 2 course together with the Python Programming 1 course is an excellent choice for delegates preparing to take the following Python Institute exam:

  • Certified Associate in Python Programming: PCAP

This course also covers substantial parts of the following exam:

  • Certified Professional in Python Programming 1: PCPP1

Attending these courses and studying the associated reference materials can form part of the preparation to achieve certification. Experience, practice, self-study and aptitude are also key requirements for exam success.

Before taking any exam, ensure you have the recommended experience. The Python Institute website lists all exam requirements and these are updated regularly.

Exams are not included as part of the course.

Requirements

Delegates should be able to build Python applications that exploit all fundamental elements of the language including variables and expressions, conditions and loops, functions, objects, and lists. This knowledge can be gained by attendance on the pre-requisite Python Programming 1 course.

Pre-Requisite Courses

Course Reviews

Great course, Content was very good and very very useful. Musie was fantastic, he showed knowledge and what is more important the ability of explaining it.

Fernando - Technical Operations Analyst - Charity


A well-planned and delivered course. Musie talked through all of the concepts thoroughly, at a good pace and took the time to answer some additional questions I had at the end.

George - Scientist - Government


The course was really well explained and taught. The instructor Musie explained each topic really well with good examples that helped me understand.

Anandita - Manufacturing


Excellent - plenty to take away from this and further expand my knowledge

- Network Strategy Engineer - Utilities


A brilliantly designed course, I was taken by my trainer from my initial under-confident understanding to feeling able and excited to code in Python. It was relevant, interesting, and I would heartily recommend this course and this company.

Annie - Devices Graduate - Communications


Very knowledgeable trainer to teach some complex ways using simple language. Always happy to stop and discuss any other topics in depth and could tell the genuine enthusiasm whilst teaching. This is a big factor in teaching and it really shows and rubs off on the candidates when you are in class. Thank you

Rupert - Finance


Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 3 days

Price: £1,595.00 exc. VAT 


Start Date Options Spaces  
12 Mar 2025
StayAhead Virtual Courses available 
Spaces Book Now 
23 Apr 2025
StayAhead Virtual Courses available 
Spaces Book Now 
28 May 2025
StayAhead Virtual Courses available 
Spaces Book Now 
09 Jul 2025
StayAhead Virtual Courses available 
Spaces Book Now 
20 Aug 2025
StayAhead Virtual Courses available 
Spaces Book Now 
06 Oct 2025
StayAhead Virtual Courses available 
Spaces Book Now 
19 Nov 2025
StayAhead Virtual Courses available 
Spaces Book Now 
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy