Advanced Python

This course has been superseded

We suggest the following instead:
Advanced Python Programming

Course Description

In this Python training course, participants already familiar with Python programming will learn advanced Python techniques.
3 Days
Contact us for pricing
 

Who is the course for?

Participants who have existing Python experience and who wish to leverage the power of Python further. It is expected that attendees have some work experience with Python and/or have attended the Introductory Python course.

Learning Outcomes

At the conclusion of this course, attendees will be able to:

• Design robust python applications using modern development methods
• Use design patterns when creating python applications
• Use standard libraries for creating and editing pdf/word and excel documents
• Design and create multi-threaded python applications
• Work with JSON and XML data
• Access HTML from web pages
• Access and Edit Data from a relational database
• Create and run Unit tests
• Use advanced data analysis techniques

Python Review

Data Types and Variables
Flow of Control
Functions
Lists, Tuples and Dictionaries
Files
Exception

Classes

Class variables and methods
Working with Properties
Special Class methods
Working with decorators

Writing and Maintaining your Own Python Library

Write your own iterators, generators and decorators
Test Driven Development – Unit Testing
Profiling
Managing builds and releases
Design patterns and When to Use them

Functional Programming

Lambda Functions
Map
Filter
Reduce

Working with JSON and XML

Navigating an XML document
Creating/editing XML
Accessing a web service
Processing JSON data
Searching XML and JSON data

Standard Data Formats

Working with Excel
Manipulating Word Documents
Working with Pdf’s
Sending emails and Texts
Accessing HTML data with Beautiful Soup





Database Access

Accessing SQLLite Database
Querying database with parameters
Processing results
Inserting data

Regular Expressions

Creating expressions
Compilation
Multiple Matches
Options when searching

Multithreading

Creating Threads
Thread communication
Synchronisation
Locks
Other multithreading libraries

Networking

Using Sockets
TCP/IP
Python networking libraries

Web App Development

Setting up Django
Creating views
Connecting a database to your web app

Numpy and Pandas

Sorting Arrays
Structured Data: NumPy's Structured Arrays
Data Manipulation with Pandas
Operating on Data in Pandas
Handling Missing Data
Hierarchical Indexing
Combining Datasets: Concat and Append
Combining Datasets: Merge and Join
Aggregation and Grouping
Pivot Tables
Vectorized String Operations
Working with Time Series
High-Performance Pandas: eval() and query()

MatplotLib and Seaborn

Histograms, Binnings, and Density
Customizing Plot Legends
Customizing Colorbars
Multiple Subplots
Text and Annotation
Customizing Ticks
Customizing Matplotlib: Configurations and Stylesheets
Three-Dimensional Plotting in Matplotlib

Python Advanced Data Analysis

Introducing Scikit-Learn
Hyperparameters and Model Validation
Feature Engineering
Naive Bayes Classification
Linear Regression
Support Vector Machines
Decision Trees and Random Forests
Principal Component Analysis

PythonPython ProgrammingAdvanced PythondjangoPython 3