Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse.

 Install and Setup

 Python for Windows

 Installing Anaconda Python for Windows

 Navigation of Spyder

 Stepping into the World of Python

 Program Flow Control in Python

 Lists, Ranges & Tuples in Python

 The Binary number system explained

 Python Dictionaries and Sets

 Input and Output (I/O) in Python

 Modules and Functions in Python

 Object Oriented Python

 Using Databases in Python

 Generators, Comprehensions and Lambda Expressions
 

 Introduction

 Operator Precedence

 Our First Python Program

 The str String Data Type

 Printing in Python

 Negative Indexing in Strings

 Printing text

 Slicing

 Printing the result of a calculation

 Slicing with Negative Numbers

 Strings in Python

 Using a Step in a Slice

 The Escape Character

 Slicing Backwards

 Printing tabs

 Challenge Solution and Slicing Idiom

 More on Escape Characters in Strings

 String Operators

 Variables and Types

 String Replacement Fields

 Python is a Strongly Typed Language

 String Formatting

 Numeric Data Types in Python

 f-strings

 Numeric Operators

 Python 2 String Interpolation

 Expressions

 Section Summary

 Integer division
 

 Introduction to Blocks and Statements

 if Statements

 elif

 Using a Debugger in Spyder

 More on if, elif and else

 if, elif, and else in the Debugger

 Using if with strings

 Simple condition

 Adding a Second Guess

 Conditional Operators

 Challenge Solution

 Using and, or, in Conditions

 Simplify Chained Comparison

 Boolean Expression True and False

 Truthy Values

 in and not in

 if Challenge

 Solution to if Challenge

 for loops

 Stepping through a for loop

 for loops Extracting Values from User Input

 Extracting capitals
 

 For loop

 More About Ranges

 For loop with step

 Nested for loops

 continue

 break

 Initialising Variables and None

 while loops

 More on while loops

 Break in a while loop

 Break

 Continue

 The Random Module and Import

 Challenge Solution

 Binary Search

 Hi Lo Game

 Pass Statement and Complete the Hi Lo Game

 Testing the Hi Lo Game

 Augmented Assignment

 augmented assignment in a loop
 

 Refactoring Code

 else in a loop

 else in the Hi Lo Game

 Conditional Debugging

 Another else Example

 Section Challenge Solution

 Changing the Condition

 End of Remaster

 Flow Control Quiz
 

 Set, Arrays & Matrix in Python

 Introduction

 Lists in Python

 More about Lists

 Challenge - Lists

 Understanding Iterators

 Understanding and using Ranges

 More about Ranges

 Ordered Sets with Tuples

 More on Ordered Sets with Tuples

 Lists, Ranges and Tuples

 Dictionary and sets

 Arrays

 Matrix
 

 system explained

 Introduction to the Section

 Binary Basics

 What is binary

 Hexadecimal and Octal and the Challenge

 Python

 Dictionaries and Sets

 Introduction to the Section

 Python Dictionaries

 Dictionaries Part 2

 Dictionaries Part 3

 Dictionaries Challenge

 More on Dictionaries

 The Second Dictionary Challenge

 Sets

 Python Sets Part 2 and Challenge
 

 Search & find all

 Find & replace

 The dot metacharacter

 Caret & dollar metacharacter

 Regex Objects and Grouping

 Optional Matching and Findall()

 Character Classes and the Caret and Dollar Characters

 Greedy and Non-Greedy Matching

 Case-Insensitive Matching and Substitutions

 Character class

 Star metacharacter

 Group

 Input and Output

 (I/O) in Python

 Introduction to the Section

 Reading and writing text files

 Writing Text Files

 Appending to Files and Challenge

 Writing Binary Files Manually

 Using Pickle To Write Binary Files

 Shelve

 Manipulating Data With Shelve

 Updating With Shelve

 Shelve Challenge

 Challenge Continued
 

 Introduction to the Section

 Parabola - More on Functions

 Modules and import

 Scope in Functions

 The standard Python library

 Fix Function and Draw Circles

 WebBrowser Module

 Enhanced Circles and Challenge

 Time and DateTime in Python

 Time (Continued) and Challenge.

 Global Variables

 Global Keyword

 Timezones

 Importing Techniques

 Check Path In Windows

 Underscores in Python code

 Check Path on a Mac

 Namespaces, more on Scope

 and Recursion

 Functions in Python

 Recursion with OS Module and

 Functions Part 2

 Filesystem and Nonlocal keyword

 Functions Part 3

 Nonlocal keyword, Free and LEGB
 

 File Handling In Python

 Errors & exceptions in Python

 Exception handling in Python

 Finally block

 File handling

 Reading data from file

 Adding data to the file

 Appending to a file

 Quiz for Section 4:

 Coding challenge 5

 Coding challenge 5 solution

 Coding challenge 6

 Coding challenge 6 solution

 Web Scraping with BeautifulSoup

 The Requests Module

 Getting Started with BeautifulSoup

 Attributes and Navigation

 Accessing Attributes and Content

 Siblings, Elements and Children
 

 Object Orientated Programming

 Remove Circular References

 and Classes

 Challenges

 Instances, Constructors, Self

 Getters and Setters

 and more

 Data Attributes and Properties

 Class Attributes

 Alternate Syntax for Properties

 Methods Part 1

 Inheritance

 Methods Part 2

 Subclasses and Overloading

 Non Public and Mangling

 Calling Super Methods

 DocStrings and Raw Literals

 Changing Behavior of Methods

 Album class and More on

 DocStrings

 Overriding Methods

 Artist class and import Albums

 Inheritance Challenge

 Load data and Write Checkfile

 Polymorphism

 Compare Files and Algorithm

 Duck Test

 Flowcharts

 Composition

 Composition Continued

 Implement Revised Load_Data

 Algorithm

 Test Code and Challenge

 Write OOP Version

 Aggregation

 Getters and Propertie
 

 Introduction to Databases

 Rolling back Transactions

 Database Terminology

 Adding Database code to the Account Class

 Sqlite3 Install on Windows

 GUI Database Editing Overview

 Sqlite3 Install on a Mac

 Ultimate Edition Database View

 SQLite3 Install on Ubuntu Linux

 Community Edition Database Plugin

 Introduction to SQLite

 Update Deposit and Withdrawal Methods

 More with SQL using SQLite

 Displaying Time in Different Timezones

 Querying data with Sqlite

 SQLite3 strftime Function

 Challenge

 Order by and Joins

 Problems Storing Timezones

 More complex Joins

 Rolling Back Transactions

 Wildcards and Views

 Simple Database Browser

 Housekeeping and the Challenge

 Scrollbars

 SQL in Python

 Star Args

 Connections, Cursors and Transactions

 Kwargs

 SQL Injection Attacks

 More on KWArgs

 Placeholders and Parameter

 Scrollable Listbox

 Substitution

 Populating a Listbox from a Database

 Exceptions

 Show Songs from Album

 Exceptions Challenge

 The DataListbox Class Code

 Exceptions Continued

 Linking our DataListBoxes

 Raising Exceptions

 Linking our DataListBoxes Continued

 More on Exceptions

 DataListbox Challenge

 Custom Exceptions

 Section currently being added to regularly
 

 Lambda Expressions

 Introduction

 Nested Comprehensions

 Generators and Yield

 Nested Comprehensions Challenge

 Next and Ranges

 The timeit Module

 Generator Examples - Fibonacci

 More on timeit

 numbers and Calculating Pi

 timeit Continued and Challenge

 The os.walk Generator

 timeit Challenge

 Searching the Filesystem

 Map Intro

 Reading Mp3 Tags

 Map Challenge Completion

 List Comprehensions

 The Filter Function

 List Comprehensions and Side-Effects

 The Reduce Function

 Challenge Solutions

 any and all

 Conditional Comprehensions

 Named Tuples

 Conditional Expressions

 any and all with Comprehensions

 Challenges

 Packages

 Challenge 1 Solution

 Virtual Environments

 Challenge 2 Solution