Advanced Python 3.x (CP-AD)

This course is intended for experienced Python programmers who want to excel using advanced Python 3 techniques (differences between Python 2 and Python 3 are noted)


Certified Training Course




R 11 900 p.p. (Excl VAT)

SATV Redeemable 


Delivery Method

Classroom-based, Instructor-led with emphasis on hands-on exercises.


5 days

Start time: 09:00 (Registration will commence at 08:30 on the first day)


The knowledge and skills that a learner must have before attending this course is as follows:

  • basic Python programming experience, especially in working with:
    • strings,
    • lists, tuples and dictionaries;
    • loops and conditionals;
    • and writing your own functions.
  • Beneficial experience would include having exposure to:
    • HTML,
    • XML,
    • JSON,
    • and SQL.

Course Objectives

At the end of this course, you should be able to do the following:

  • Understand and use iPython Notebook
  • Use advanced Python techniques
  • Work with various types of data such as CSV, HTML, XML and JSON
  • Create Classes
  • Test and Debug with Python
  • Work with arrays
  • Understand Pandas
  • Work with Python Regular Expressions
  • Encode and Decode Files in Python

Exam & Certifications


Course Topics

1. iPython Notebook

  • Getting Started with iPython Notebook
  • Creating Your First iPython Notebook
  • iPython Notebook Modes
  • Useful Shortcut Keys
  • Markdown
  • Magic Commands
  • Getting Help

2. Advanced Python Concepts

  • Advanced List Comprehensions
  • Collections Module
  • Mapping and Filtering
  • Lambda Functions
  • Advanced Sorting
  • Unpacking Sequences in Function Calls
  • Modules and Packages

3. Working with Data

  • Databases
  • CSV
  • Getting Data from the Web
  • HTML
  • XML
  • JSON

4. Classes and Objects

  • Creating Classes
  • Attributes, Methods and Properties
  • Extending Classes
  • Documenting Classes
  • Static, Class, Abstract Methods
  • Decorator

5. Testing and Debugging

  • Creating Simulations
  • Testing for Performance
  • The unittest Module

6. NumPy

  • One-dimensional Arrays
  • Multi-dimensional Arrays
  • Getting Basic Information about an Array
  • NumPy Arrays Compared to Python Lists
  • Universal Functions
  • Modifying Parts of an Array
  • Adding a Row Vector to All Rows
  • Random Sampling

7. Pandas

  • Series and DataFrames
  • Accessing Elements from a Series
  • Series Alignment
  • Comparing One Series with Another
  • Element-wise Operations
  • Creating a DataFrame from NumPy Array
  • Creating a DataFrame from Series
  • Creating a DataFrame from a CSVl
  • Getting Columns and Rows
  • Cleaning Data
  • Combining Row and Column Selection
  • Scalar Data: at[] and iat[]
  • Boolean Selection
  • Plotting with matplotlib

8. Regular Expressions

  • Regular Expression Syntax
  • Python's Handling of Regular Expressions

9. Unicode and Encoding

  • Encoding and Decoding Files in Python
  • Converting a File from cp1252 to UTF-8
  • Combining Row and Column Selection
  • Scalar Data: at[] and iat[]
  • Boolean Selection
  • Plotting with matplotlib