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