Advanced Python Programming


Course Description

This course is intended to give attendees an insight into many of Python’s more advanced features and libraries, to enable them to leverage the power of the language more fully.

Duration: 3 days


Who is the course for?

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 Classes to maximise code reuse and portability • 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 • Create standalone python interface with Tkinter • Work with JSON and XML data • Access HTML from web pages • Create web based applications with Flask and Django • Access and Edit Data from a relational database • Create and run Unit tests • Use Numpy for numerical calculations • Use Pandas for data analysis. • Using advanced data analysis techniques

Python Review

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

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 Other multithreading libraries

Developing Interfaces

Creating a UI using Tkinter Using Django to create a web application Developing web services using Flask

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

MatplotLib and Seaborn

Setting up your plot Customizing Plot Legends Customizing Colorbars Multiple Subplots Text and Annotation Customizing Matplotlib: Configurations and Stylesheets Using Seaborn to plot data Making interactive graphs with plotly

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


Python Python Programming Advanced Python Midas Skillnet Data Analytics