Introduction
  • Course Overview
  • Pre-Requisites
  • Code Projects and Notebooks
A Quick Refresher - Basics Review
  • Introduction
  • The Python Type Hierarchy
  • Multi-Line Statements and Strings
  • Variable Names
  • Conditionals
  • Functions
  • The While Loop
  • Break, Continue and the Try Statement
  • The For Loop
  • Classes
Variables and Memory
  • Introduction
  • Variables are Memory References
  • Reference Counting
  • Garbage Collection
  • Dynamic vs Static Typing
  • Variable Re-Assignment
  • Object Mutability
  • Function Arguments and Mutability
  • Shared References and Mutability
  • Variable Equality
  • Everything is an Object
  • Python Optimizations: Interning
  • Python Optimizations: String Interning
  • Python Optimizations: Peephole
Numeric Types
  • Introduction
  • Integers: Data Types
  • Integers: Operations
  • Integers: Constructors and Bases - Lecture
  • Integers: Constructors and Bases - Coding
  • Rational Numbers - Lecture
  • Rationals Numbers - Coding
  • Floats: Internal Representations - Lecture
  • Floats: Internal Representations - Coding
  • Floats: Equality Testing - Lecture
  • Floats: Equality Testing - Coding
  • Floats: Coercing to Integers - Lecture
  • Floats: Coercing to Integers - Coding
  • Floats: Rounding - Lecture
  • Floats: Rounding - Coding
  • Decimals - Lecture
  • Decimals - Coding
  • Decimals: Constructors and Contexts - Lecture
  • Decimals: Constructors and Contexts - Coding
  • Decimals: Math Operations - Lecture
  • Decimals: Math Operations - Coding
  • Decimals: Performance Considerations
  • Complex Numbers - Lecture
  • Complex Numbers - Coding
  • Booleans
  • Booleans: Truth Values - Lecture
  • Booleans: Truth Values - Coding
  • Booleans: Precedence and Short-Circuiting - Lecture
  • Booleans: Precedence and Short-Circuiting - Coding
  • Booleans: Boolean Operators - Lecture
  • Booleans: Boolean Operators - Coding
  • Comparison Operators
Function Parameters
  • Introduction
  • Argument vs Parameter
  • Positional and Keyword Arguments - Lecture
  • Positional and Keyword Arguments - Coding
  • Unpacking Iterables - Lecture
  • Unpacking Iterables - Coding
  • Extended Unpacking - Lecture
  • Extended Unpacking - Coding
  • *args - Lecture
  • *args - Coding
  • Keyword Arguments - Lecture
  • Keyword Arguments - Coding
  • **kwargs
  • Putting it all Together - Lecture
  • Putting it all Together - Coding
  • Application: A Simple Function Timer
  • Parameter Defaults - Beware!!
  • Parameter Defaults - Beware Again!!
First-Class Functions
  • Introduction
  • Docstrings and Annotations - Lecture
  • Docstrings and Annotations - Coding
  • Lambda Expressions - Lecture
  • Lambda Expressions - Coding
  • Lambdas and Sorting
  • Challenge - Randomize an Iterable using Sorted!!
  • Function Introspection - Lecture
  • Function Introspection - Coding
  • Callables
  • Map, Filter, Zip and List Comprehensions - Lecture
  • Map, Filter, Zip and List Comprehensions - Coding
  • Reducing Functions - Lecture
  • Reducing Functions - Coding
  • Partial Functions - Lecture
  • Partial Functions - Coding
  • The operator Module - Lecture