CUSTOMISED
Expert-led training for your team
Dismiss

Python (Advanced) training course

Gain a deeper practical understanding of the Python programming language and ecosystem. This course provides a solid overview of the Python language including some low level details essential to working confidently and fluidly with Python.

JBI training course London UK

"I liked the course because it was well structured and developed my understanding of Python, specifically Object Orientation and libraries with C++. The trainer was detailed in his explanations and engaging."

MM, Risk Manager, Python Advanced, January 2021

Public Courses

12/08/24 - 3 days
£2500 +VAT
23/09/24 - 3 days
£2500 +VAT
04/11/24 - 3 days
£2500 +VAT

Customised Courses

* Train a team
* Tailor content
* Flex dates
From £1200 / day
EDF logo Capita logo Sky logo NHS logo RBS logo BBC logo CISCO logo
JBI training course London UK

  • Python Core Object Module
  • Closures and Decorators
  • Iterators, Generators, References and Assignment
  • Exception Handling and the Call Stack
  • Modules, imports and namespaces
  • Floating point, Unicode and regular expressions
  • Concurrency with threading and multiprocessing
  • Easy and effective testing with unittest 
  • Testing with pytest and networking 
  • An overview of data science with Python 
  • More Advanced Language Features (Optional Additional Topics on Time Dependency).

 

Topics on advanced courses may vary (or be omitted) from the above depending on the instructor delivering the course and depending on best practice, audience experience and preferences.

1. Python Core Object Module

Topics covered include:

  • inside Python objects, slots, attribute lookup, the MRO (Method Resolution Order), inheritance, super and multiple inheritance. Classes and instances.
  • Properties and other descriptors.
  • Abstraction, inheritance, encapsulation and polymorphism (the principles of object oriented theory).

2. Closures and Decorators

Topics covered include:

  • Functional programming: higher order functions and functions as objects, lambdas and closures.
  • Variable scoping, global, local and nonlocal. Closures: functions that build functions.
  • Decorators: functions wrapping functions, decorator factories and class decorators.
  • Putting closures to practical use. Including solving the problems with decorators using functools.
  • wraps, decorator order (with the builtin descriptor decorators) and decorators that take arguments (decorator factories).

3. Iterators, Generators, References and Assignment

  • Iterators and generators.
  • Stateful iteration, the other half of coroutines.
  • Including a look at the iteration protocol and adding custom iteration to objects.
  • References, assignment and mutability: how references work in Python. Identity versus equality. Functions "call by object".
  • Mutability and multiple references. Object copying.

 

 4. Exception Handling and the Call Stack

  • Stack frames, the call stack, tracebacks and the pdb debugger
  • Exception handling syntax and best practises
  • Defining and raising exceptions

5. Modules, imports and namespaces

Import syntax variations * namespaces and variable lookups * sys.modules and the import cache * Module objects * Module level functionality: _dir_ and _getattr_ * Packages and the filesystem * Relative import syntax * Module reloading (how to do it and why not to do it) * Circular imports, avoiding and fixing * Executable modules and packages * importlib and __import__

6. Floating point, Unicode and regular expressions

  • Strings and Unicode
  • Encodings and character sets
  • Handling structured text data with slicing
  • Bytes
  • Processing semi-structured data with regular expressions
  • Test first with unittest
  • Back tracking and greedy/non-greedy regular expressions

7. Concurrency

  • The history of concurrency from AmigaOS to a multi-core world
  • Python and the Global Interpreter Lock
  • I/O bound and CPU bound tasks
  • Threads and processes
  • Async programming (green threading, coroutines)
  • Concurrency with threads
  • Concurrency with multiprocessing
  • Looking to the future (Python 3.13): optional GIL (PEP 703) and subinterpreters (PEP 554) 

 

8. Testing with pytest

* virtual environments and pipenv (installing pytest) * pytest command line for collecting and running tests * Simple test functions and asserts * Test fixtures and conftest.py * Testing exceptions * Test parameterisation for test combinations * Test marking for running test subsets * Principles of testing (unit tests versus end to end testing, building test helpers etc) * mocking and patching

9. Networking

  • The request response cycle
  • HTTP requests
  • The requests module
  • Managing dependencies with pip and requirements.txt
  • Making requests to a simple server
  • The principles of building API clients
  • TCP/UDP and lower level networking details

 

10. More Advanced Language Features ( Optional Additional Topics on Time Dependency ) 

  • Context managers and resource management
  • Class customisation through inheritance with __init_subclass__
  • Lazy and eager algorithms: list comprehensions and generator expressions
  • Descriptors and metaclasses
JBI training course London UK

Quants, Data Scientists, Analysts, Testers and Programmers who are looking to advance their existing Python skills.

This course will take you deeper into the Python programming language and ecosystem. This course provides a solid overview of the Python language including some low level details essential to working confidently and fluidly with Python. The focus is on practical programming and the skills learned here can be applied in any field where Python is used. Become an expert on the Python language and ecosystem.

 


5 star

4.8 out of 5 average

"I liked the course because it was well structured and developed my understanding of Python, specifically Object Orientation and libraries with C++. The trainer was detailed in his explanations and engaging."

MM, Risk Manager, Python Advanced, January 2021

 

Watch live client feedback from Python Training course: 

JBI training course London UK

Newsletter

 

Sign up for the JBI Training newsletter to stay updated with world-class technology training opportunities, including Analytics, AI, ML, DevOps, Web, Backend and Security. Our Power BI Training Course is especially popular.  Gain new skills, useful tips, and validate your expertise with an industry-leading organisation, all tailored to your schedule and learning preferences.



Our Advanced Python training course has had great feedback from developers, testers, data scientists, financial modellers and analysts who already use Python on a day-to-day basis, but need to know how to get even more out of the language.

This advanced Python training course will teach you additional techniques and features relevant to Python, to help you realise its full potential as an elegant language for rapid development of test scripts and applications.

Python is a dynamic object-oriented programming language. It offers strong support for integration with other development languages and tools, and comes with extensive standard libraries.

Python also serves as a great introduction to functional programming, allowing us to explore topics such as closures, comprehensions, generators and decorators.

And of course, one of the great strengths of Python is the extensive set of libraries.  We take a tour of some of the more interesting libraries and even show how to interface to your own libraries written in C and C++, downloaded from a local repository using PIP.

CONTACT
+44 (0)20 8446 7555

[email protected]

SHARE

 

Copyright © 2023 JBI Training. All Rights Reserved.
JB International Training Ltd  -  Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS

Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us

POPULAR

Rust training course                                                                          React training course

Threat modelling training course   Python for data analysts training course

Power BI training course                                   Machine Learning training course

Spring Boot Microservices training course              Terraform training course

Kubernetes training course                                                            C++ training course

Power Automate training course                               Clean Code training course