Python courseware and training manuals

We have the following courseware chapters available for our Python training.

You can see details of how to license our Python courseware (including volume requirements) here.

Python courseware

Here is a list of all of our Python manual chapters (you can download the ones marked):

Chapter Sections Subsections
Getting Started (4 pages) Introducing Python Installing Python
Choosing an Editor Choices of Editor
Using IDLE Running Single Commands (Interactive Mode) ; Colour-Coding / Case Sensitivity ; Creating, Saving and Running Programs
Basic Coding (9 pages)

Download this chapter
Comments Single-line Comments ; Multi-line Comments ; Commenting Out Lines (and Uncommenting)
Variables Declaring Variables ; Variable Types ; Determining Type ; Assigning Values to Variables ; Deleting Variables
Rules of Arithmetic
Basic Strings New Lines and Tabs ; Quotation Marks ; Backslash Characters ; Concatenating Text ; Converting Numbers to Text ; Getting Inputs from Users
Testing Conditions Simple Conditions ; Multiple Conditions ; Testing for Equality ; Combining and Negating Conditions
Visual Studio Code (10 pages) Installing Visual Studio Code
The Visual Studio Code Window The Activity Bar ; Changing your Theme
Installing Extensions Installing Extensions (using Python as an Example)
Using Terminal Window Viewing Terminal Windows ; Interactive Python Sessions
Configuring VS Code Settings Changing Settings using The Command Palette ; Changing Settings using the Menu ; Using Settings (JSON) ; Automatically Showing Default Settings ; Copying Default Settings to Customise Them ; Typical Default Settings
Other Useful VS Code Tips Commenting and Uncommenting Code ; Using Multiple Insertion Points ; Global Changes using Multiple Insertion Points ; Entering and Leaving Zen Mode ; Expanding and Collapsing Code ; Restoring Default Zoom
Writing and Running Programs (7 pages) Files and Folders Opening a Folder ; Creating Python Files
Running Programs Clearing the Terminal Window ; Three Ways to Run a Program
Basic Debugging Setting and Unsetting Breakpoints ; Debugging
Terminal Input (Revisited)
The Code Runner Extension Installing the Extension ; Running Programs ; Changing the Run Key Combination ; Customising Code Runner
Virtual Environments (5 pages) What Virtual Environments Are
Creating a Virtual Environment Creating and Opening a Folder ; Creating a Virtual Environment ; Structure of a Virtual Environment ; Activating a Virtual Environment ; Selecting an Interpreter
Importing Modules (6 pages) Importing Modules Importing a Module ; Giving Modules Aliases ; Importing Specific Functions ; Importing Functions and Using Aliases
Some Useful Built-In Modules
Using External Modules Installing a Module ; Using Installed Modules ; Module Not Found Error ; Listing External Modules ; Viewing External Modules
Formatting Text and Numbers (3 pages) Basic Ways to Format Output Using the F Prefix ; Using the Format Function ; Placeholder Order can Vary or be Omitted
Formatting Numbers
Ranges and Loops (5 pages) While Loops Syntax of the While Command ; Example of a While Loop ; Using Else with While
Break, Continue and Pass
For Loops
Debugging (11 pages) Overview
Preparing to Debug Step 1 – Creating a Configuration File ; Step 2 - Setting a Breakpoint ; Step 3 – Turning off the JustMyCode Flag
Viewing and/or Changing Variable Values The Variables Pane ; Watching Variables and Expressions ; The Debug Console
Breakpoints Conditional Breakpoints ; Disabling Breakpoints ; Deleting Breakpoints ; Removing or Disabling All Breakpoints
Debugging Function Calls Stepping Into, Over and Out of Functions ; The Call Stack ; Function Breakpoints
Logging Breakpoints
Sequences (14 pages) Introduction to Sequences Main Types of Sequences in Python ; Reminder of Iterating Over Sequences
Tuples versus Lists Mutability (Lists versus Tuples)
Slicing Sequences Examples of Slicing for Lists ; Examples of Slicing for Ranges ; Examples of Slicing for Strings ; Missing Items when Slicing (Step Values)
Joining and Splitting Sequences Joining Sequences Together ; Concatenating Sequence Members ; Splitting Strings to Generate Sequences ; Splitting a String into Before and After Text
Unpacking Sequences
Working with Sequences Getting the Length of a Sequence ; Getting the Number of Items of a Specific Value ; Aggregating a Sequence’s Items ; Getting the Index Number of an Item ; Returning Sequence Index Numbers and Values ; Mixing Data Types
Examples of Sequences Listing the Files in a Folder (ListDir) ; Listing the Files in a Folder using Glob ; Dividing Text into Lists of Words or Phrases ; A Tuple Listing Built-In Module Names ; Scraping Websites for Links
Manipulating Lists (6 pages) Adding and Removing Items Inserting Items ; Appending to and Extending Lists ; Removing Items from Lists by Value ; Popping Items from a List by Position ; Clearing the Contents of Lists
Changing the Order of Lists Sorting Lists ; Reversing Lists
Shallow and Deep Copying of Lists Assigning is not Copying ; Shallow Copying ; Deep Copying
Files and Folders (6 pages)
Using With to Close Files Automatically
Reading Files Checking if Files and Folders Exist ; Reading Line by Line or Reading Characters ; Reading All the Lines in a File using Readlines ; Reading All the Lines in a File by Looping
Looping Over Files Looping Over Files in a Folder ; Processing Files in a Folder ; Looping Recursively
Error-Handling (3 pages) Trapping for Errors Error Types ; Trapping General Errors ; Trapping Specific Errors ; The Full Range of Commands
Raising Exceptions
Numbers, strings and dates (13 pages) Overview
Working with Numbers Mathematical Operators ; Built-in Numerical Functions ; Math Functions
Working with Boolean Values Boolean Operators ; All and Any
Working with Dates (and Times) Getting Dates (and Times) ; Formatting Dates ; Formatting Times ; Displaying Calendar Months ; Displaying Day and Month Names
Working with Strings Escape Characters ; Avoiding Escape Characters ; Joining and Splitting Text ; Repeating Text ; Extracting Text (Slicing) ; Counting and Length ; Changing Case ; Padding ; Removing and Replacing Text ; Translating Text ; Finding Text ; Checking Text Content
Sets (6 pages)

Download this chapter
Some Set Concepts
Working with Sets Creating Sets ; Set Operations
Converting between Sets and Lists Converting Sets to Lists ; Converting Lists to Sets
Examples of the Use of Sets Counting Unique Letters or Words ; Finding the Differences between Lists
Dictionaries (3 pages) Creating Dictionaries What is a Dictionary? ; Creating Dictionaries
Using Dictionaries Looking Up Items ; Looping Over Dictionary Items ; Adding. Editing and Deleting Items ; Sorting Dictionaries
Writing Functions (13 pages) The Need for Functions Advantages of Using Functions
Writing a Function Step 1 – Identifying the Input Arguments ; Step 2 – Specifying the Output Data Type ; Step 3 – Reviewing the Syntax Required ; Step 4 – Writing your Functions
Learning Points Variable Names are Isolated ; Arguments can have Different Names ; Functions can be Declared in any Order ; Your Function could Crash in Many Ways ; Data Types are for Guidance Only
Ways to Pass Arguments Arguments by Name or Position ; Forcing Positional or Named Arguments ; Optional Arguments
Arbitrary and Keyword Arguments Passing an Unknown Number of Argument Values ; Passing an Arbitrary Set of Arguments
Using Modules for Functions
Modular Programming
Comprehensions and Generators (3 pages) Comprehensions Basic Comprehensions ; Comprehensions with Conditions ; Multiple Loops within Comprehensions
Generators Disadvantages of Generators
Scraping Websites (14 pages) Case Study
Preparation for Web Scraping Understand the Underlying HTML ; Understanding the Limitations
Understanding HTML The Document Object Model (DOM) ; HTML Tags ; Tag Attributes ; Classes and Ids
Getting Started Choosing a Web Scraping Tool ; Limitations of the Requests Module ; Installing BeautifulSoup ; Getting Help
Getting HTML Browsing a Web Site ; Possible HTML Parsers ; Using HTML from File
Ways to Navigate Chaining Elements ; Getting a List of Relatives of an Element ; Example: Contents versus Descendants ; Example: Showing All Text
Getting Output
Finding Elements Finding Elements by Tag ; Finding Elements by Attribute ; Finding Attributes by Class ; Non-recursive Finds
Searching Using CSS Selectors Example: Finding Elements of Given Class ; Finding Elements within a Given Id
Working with Excel (7 pages) Getting Started with Openpyxl Installing Openpyxl ; Getting Help with OpenPyXl
Working with Workbooks Creating and Saving Workbooks ; Opening and Closing Workbooks
Working with Worksheets Inserting Worksheets ; Our Example Workbook ; Getting a List of Worksheet Names ; Getting a Worksheet Itself ; Getting and Setting the Active Worksheet ; A Worked Example ; Looping over Worksheets
Working with Cells Referring to Single Cells ; Useful Cell Properties
Looping over Cells Looping over Row and/or Column Numbers ; Offsetting Cells
Other Data Types (9 pages) Overview
Linking to SQL Server (or Other Databases) Importing Pyodbc ; Creating a Connection ; Creating a Cursor ; Choosing a Fetch Method ; A Full Worked Example ; Inserting, Updating and Deleting Data ; Running Stored Procedures with Parameters
CSV Files Writing CSV Files ; Reading CSV Files
JSON Files Serialisation and Deserialisation ; Conversions ; Loading and Dumping ; Writing to JSON Files ; Reading from JSON Files ; Reading an External JSON File
Creating TKinter Systems (11 pages) Our Sample Application
Creating a Host Window Creating Basic Windows ; Preventing Resizing ; Centring a Form on Screen
Widgets What are Widgets? ; The Possible Widgets ; Placing Widgets ; Packing Widgets
Widget Properties Common Widget Properties ; Three Ways to Set Properties ; Widget Padding
Message Boxes Importing the Messagebox Module ; Messages, Warnings and Errors
Button Events Defining Event Handling Functions ; Simple Event Association ; The Main Events ; More Powerful Event Association
The Full System
NumPy (13 pages) Overview Our Example ; Advantages of NumPy ; Some NumPy Terms
Creating Arrays Data Types ; Standard Arrays ; Filling Arrays Automatically ; Filling Arrays with Pre-set Values ; Filling Arrays with Random Numbers ; Filling Arrays from Sequences
Working with Parts of an Array Slicing Arrays ; Another Slicing Example
Array Maths Aggregating ; Array Multiplication and Broadcasting ; Matrix Multiplication ; Scalar (Elementwise) Operations
Operations on Arrays Transposing an Array ; Flattening or Ravelling an Array ; Changing Array Elements ; Reshaping and Resizing Arrays ; Joining Arrays (Stacking and Concatenating) ; Other Array Operations
Pandas (15 pages) Overview Why Use Pandas not Excel?
Creating Dataframes and Series Creating Dataframes ; Creating Series
Reading and Writing Dataframes Reading from Excel or CSV Files ; Reading in a SQL Server Table ; Writing to CSV ; Writing to Excel ; Writing to a SQL Server Table
Showing Dataframe Information
Showing Parts of a Dataframe Top and Bottom Rows (Heads and Tails) ; Picking Out Particular Series or Columns ; Filtering Dataframes ; Slicing Rows using ILOC ; Returning Indexed Rows Only using LOC
Aggregating Data Single Statistics ; Statistics for Multiple Columns ; Showing Multiple Statistics ; Showing Grouped Statistics
Calculations with Columns Getting at the Text in a Column ; Mathematical Calculations on Columns ; Working with Dates
Other Dataframe Operations Renaming Columns ; Sorting Dataframes ; Joining Dataframes Together ; Removing Duplicates
Plotting Dataframes
Power BI and Python (5 pages) Preparing for Python
Getting Data from Python Creating your Dataframe ; Starting to Create a Python Data Source ; Finishing the Process
Power BI Python Visuals Starting your Visual ; Creating the Visual ; Seeing the Full Code


  1. Since Wise Owl print courseware double-sided to save trees, the number of physical pages in each chapter is roughly half of the number of sides quoted.
  2. Downloads are provided as examples only, and should not be used or distributed in any way or form without the prior written permission of Wise Owl.
This page has 0 threads Add post