Python (Advanced) Training Course

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Python (Advanced) training course (code: PYTHONADV)

Learn To Produce Better Code, Faster, With Advanced Python Skills


Our Advanced Python training course has had great feeback from 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.


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


1. Networking:

a. Standard networking tools in the Python distribution.

Python has some APIs for low-level socket programming and some higher-level API for things such as Web
protocol processing. This session is a review of the networking terminology and to these Python API.

b. Twisted Internet -- an event driven framework for networking.

This package, which is not part of the standard Python distribution but is freely available, is an example of an event-driven approach to networking applications.

2. Graphical user interface (GUI) programming:

a. Tkinter -- the orignal toolkit/API distributed with Python.

Python has traditional distributed the Tk widget set and the Tkinter package for GUI programming.This session reviews the model of event-driven programming for GUI programming and uses the Tkinter package for implementing user interfaces.

b. wxPython -- a more modern toolkit/API distributed withPython.

wxWidgets are a set of widgets designed to replace Tk for cross-platform programming. wxPython is a binding for Python to wxWidgets. This session reviews the model of event-driven programming for GUI programming and uses the wxPython package for implementing user interfaces.

3. XML processing.

XML is an important technology in modern computing. This session reviews the XML technology and the API available in Python for parsing, processing and generating XML.

4. Regular expressions and String Processing.

String processing is an important aspect of many systems, and working with regular expression is a crucial part of string processing. This session quickly reviews the Python features for string processing and then focuses on working with regular expressions to process strings.

5. Introspection, etc.:

a. The Python computational model.

This session focuses on the way in which Python programs are executed to show what features are available to support dynamic programming.

b. Meta-object protocol.

This session reviews in more detail how the Python computational model can be extended.

6. Dynamic language techniques.

Because Python is a dynamic programming language, code can be compiled and linked on the fly. This session focuses on what this means for programs, and in particular new techniques for configuring systems and passing information between subsystems.

7. Threads and concurrency.

Most modern systems a required to do more than one thing at once. Indeed many algorithms these days cannot be implemented without using concurrency. This session focuses on the threading package as a high-level API for realizing concurrentsystems.

8. Data structures, algorithms and complexity.

Introductory and intermediate courses on programming introduce variables, lists, dictionaries (aka maps). However it is the combination of these data structures that allow for the organization of data to easily solve problems. This session focuses on creating complex data structures so as to make algorithms straightforward, and introduces the technology needed to reason about the complexity of the data structures and algorithms.

9. Numerical methods, NumPy and SciPy.

Python, along with all dynamic programming languages, is generally poor for computationally intensive applications -- traditionally such applications are associated with Fortran, C, C++, and increasingly Java, programs. NumPy and SciPy are packages that are Python bindings to Fortran libraries that mean that algorithms can be implemented in Python and yet not suffer any performance degredation. This session investigates a small numeric application to show what is possible.

10. Domain Specific Languages.

 a. Designing a DSL.

Increasingly programming is explicitly about defining a language with which to describe the solution to a problem. This has always been so in fact but now we have a name for it "Domain Specific Languages". Designing a DSL is about using the ability to explicilty define meaning to symbols and sequences of symbols. Traditionally C++ with its operator overloading has been seen as the vehicle for this, but dynamic programming languages are even more suited to the task since definitions can change at runtime as needed. Designing a DSL is all about creating abstractions for the domain. This session will choose an example highly applicable to the attenders of the course, and could range from a language for acturial analysis for premium quoting to game semantics.

b. Implementing a DSL.

Implementing a DSL requires using all the dynamic and MOP features of Python and this session will do that in spades.


  • Networking:
  • Graphical user interface (GUI) programming:
  • XML processing.
  • Regular expressions and String Processing.
  • Introspection, etc.:
  • Dynamic language techniques.
  • Threads and concurrency.
  • Data structures, algorithms and complexity.
  • Numerical methods, NumPy and SciPy.
  • Domain Specific Languages.
Receive the latest version of this course into your inbox


See why people choose JBI

"At jbi even the sales team are technical so you are able to ask questions before the course"

Garima Aon

Call our Tech Team :  0800 028 6400  request info


6th Mar 2017 - 4 days £1995 see discount £1796

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote





Get in touch
0800 028 6400


You may also be interested in ...



view all case studies



Our inspiring and up-to-date courses gain exceptional feedback

►"great tips to help reduce build times"
► "we got access to exclusive content"
► "intensive course meant less time off"

►"what an inspiring trainer !"
► "colleagues at 2 sites joined via web"
► "I passed my exam the next day"

Newsletter ! Get exclusive news about upcoming programs, technical insights & special offers