Python Programming 2

Advanced Python skills for developers

This three-day course is for developers who are confident with Python fundamentals and ready to apply the language in more complex technical environments. You will practice techniques for structuring applications, reusing code, managing concurrent tasks, exposing or consuming RESTful services, and testing components. Which helps you progress from core scripting towards building maintainable applications and taking on broader engineering responsibilities. 

Learning objectives
  • Apply advanced object-oriented techniques  
  • Use inheritance and polymorphism  
  • Build iterators and generators  
  • Work with decorators  
  • Use functional programming techniques  
  • Create multithreaded Python applications  
  • Develop RESTful clients and APIs  
  • Write and run unit tests 

Key facts

Certification

This course does not include a formal certification or exam. 

Who it’s for

This course is designed for developers with existing Python knowledge who want to work with more advanced features and techniques. 

Prerequisites

You should already understand core Python concepts such as variables, functions, loops, objects and lists. 

Exam information

There is no exam requirement for this course. 

Optional extras

There are no optional extras for this course.  

Pre-course

You should be comfortable building basic Python applications before joining this course. 

Course syllabus

Dive into the detail of the course by looking at the syllabus below. 

Day one
  • 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
Day one
  • Session 2: Iterators and generators
    • Iterables
    • Iterators
    • Custom iterators
    • Generators
    • yield vs return
Day one
  • Session 3: Comprehensions
    • List comprehension
    • Set comprehension
    • The zip function
    • Dictionary comprehension
Day two
  • Session 4: Decorators
    • Decorators
    • Decorator functions
    • Decorator annotations
    • Decorator use cases
    • Labs
Day two
  • Session 5: Functional programming
    • Functional programming
    • Lambdas
    • Immutability
    • Mapping
    • Filtering
    • Reducing
Day two
  • Session 6: Multithreading
    • Threads
    • Multithreading
    • Thread construction
    • Thread execution
    • Thread sleep
    • Joins
    • Data sharing
    • Synchronisation
    • Multithreading vs multiprocessing
Day three
  • Session 7: Web services
    • RESTful web services
    • JSON data
    • CRUD and HTTP
    • RESTful clients
    • RESTful APIs
Day three
  • Session 8: Unit testing
    • Unit testing terminology
    • Test classes
    • Test fixtures
    • Test cases
    • Assertions
    • Test runners

FAQs

Python Programming 2 develops your ability to use Python in more structured development work. You’ll cover object-oriented design, iterators, generators, decorators, functional techniques, multithreading, RESTful services and unit testing, with practical exercises that help you apply these techniques in application development. 

Do I need prior Python experience?

Yes. Python Programming 1 is listed as a prerequisite for this course. You should already be confident with core Python concepts including variables, functions, loops, objects and lists before joining, as Python Programming 2 builds on those foundations rather than revisiting introductory programming skills. 

What level is Python Programming 2?

This is an intermediate course for developers who already understand Python fundamentals and want to work with more advanced language features. It is suited to learners moving from basic scripting towards more structured application development, including object-oriented design, concurrency, web services and testing. 

Does this course include certification preparation?

The course supports preparation for PCAP and PCPP1 certification routes. It covers relevant Python techniques including object orientation, iterators, generators, decorators, functional programming, multithreading, RESTful services and unit testing. No exam is listed as included in the supplied course information. 

What will I be able to apply after the course?

You’ll be able to use advanced Python techniques to structure applications, manage data flow, extend function behaviour, work with concurrent tasks, connect systems through RESTful services and test individual components. These skills support cleaner code, safer changes and more reliable development work. 

What are PCAP and PCPP1?

PCAP and PCPP1 are Python Institute certification routes for associate and professional-level Python programming skills. This course supports preparation by covering topics such as object-oriented design, iterators, generators, decorators, functional programming, multithreading, RESTful services and unit testing. No exam is listed as included in the supplied course information. 

Why study with TSG?
25+ years' experience

Trusted by individuals, businesses and public sector organisations for over 25 years.

20,000+ learners trained

Join a network of learners focused on developing their software testing skills 

98% customer satisfaction

TSG trainers are frequently rated as ‘good’ or ‘excellent’ by our learners

We're here to help
Speak to our learning experts

Not sure which course or study option is right for you? Get in touch with our team of advisors for personalised guidance and support throughout your learning journey.

Business transformation
Looking to develop your business or team?

Need to upskill your team? Our bespoke development solutions are designed to enhance team performance, retain talent, and drive organisational excellence. One of our development consultants would love to chat.

Quote request

Please complete the form to ensure your quote is accurate and we will contact you soon.

Page {{ step }} of 2

Back Next