Table of Contents
Introduction & PrerequisitesNina Zakharenko introduces herself, and reviews the system requirements as well as the tools that should be installed for the course.
REPL & Running Python in VS CodeNina reviews how to run code in the Python REPL.
Course IntroductionNina introduces what will be learned in the class, and looks at the final project that will be built.
Python PhilosophyNina reviews the Python philosophy, then shows a few fun easter eggs built into the language.
Converting Between TypesNina introduces the split and join methods that manipulate strings based on a delimiter.
Practice: Converting Between TypesNina walks through the practice segment.
List ComprehensionsNina demonstrates how to create lists recursively.
ConditionalsNina demonstrates to utlilize if statements within list comprehensions, and reviews truthy and falsey statements.
List OperationsNina reviews how to manipulate string values with sum(), min(), max(), and sorted().
Sets & DictionariesNina demonstrates how to create sets and dictionaries recursively.
Generator ExpressionsNina explains how to create generator comprehensions (expressions).
Slicing ListsNina reviews how to select a slice of a list, and how lists are assigned in memory when renamed.
zip FunctionNina introduces the zip function as a way to create an array of tuples from two separate lists.
Practice: Comprehensions, Slicing, & zip FunctionNina walks through the practice where students manipulate data structures using comprehensions, slicing, and the zip Function.
Object Oriented ProgrammingNina introduces what object oriented programming is, and what it means for the Python language.
ClassesNina introduce classes, and how the self keyword is used inside classes to refer to a bound instance variable or object.
Class InstancesNina introduces an example to illustrate how an instance of a class allows the user to call methods on the class that only refer to the bound instance.
Initializer MethodNina introduces the __init__ (intializer method) as a way to invoke attributes when a class instance is instantiated.
Class MethodsNina introduces the class method, which is able to access the class variables on the type, rather than the instance.
Types, isinstance, & issubclassNina reinforces what was learned by testing knowledge about what types different objects are, and introduces a function that checks if an object is a particular instance of a class (or subclass of the class). all() and any() are also briefly covered.
Magic Methods: __str__ & __repr__Nina introduces two methods that communicate details about the instance of the class, and the code needed to recreate this object.
InheritanceNina introduces inheritance as a way to create types that have shared attributes. How a subclass inherites from the parent (or super) class is demonstrated, as well as how to utilize the super() function as it is implimented in Python3 to call specific methods from the parent class.
Practice: ClassesNina live-codes the practice where classes and class instances are reviewed.
Practice: InheritanceNina live-codes the practice where subclasses and the super keyword are reviewed.
Magic Methods ReviewNina writes a class that returns data about Github repositories, and reviews when to use the magic methods covered in an earlier section.
Exception TypesNina introduces basic exception types that can be thrown when an error occurs, and why it's important to add them in order to write robust, and maintainable programs.
Try ExceptNina demonstrates how to use an try except exception statement that prints out a helpful message to the user if an error is thrown.
Error SpecificityNina demonstrates why error order matters. Students are also warned against "swallowing the exception".
Custom ExceptionsNina demonstrates how to creat and raise custom exceptions to signal error conditions in production code.
Custom Exception ApplicationNina implements a custom exception in the Github API project that was started in Intro to Python.
Practice: ExceptionsNina live-codes the practice where syntax errors, custom exceptions, and other exception topics from previous sections are reviewed.
Libraries & Modules
Libraries & ModulesNina explains how the "batteries included" way of having much functionality already included in the standard library helped Python's early success. An introduction to what's available in the standard library is also covered, as well as its drawbacks.
Importing ModulesNina demonstrates how to start a custom library, as well as best practices when importing modules, and naming imported modules with aliases.
Using Exernal PackagesNina discusses how to ensure that the correct version of pip is being utilized to download a package, and security concerns over installing mistyped packages.
Practice: Standard LibraryNina reviews how to interact with several common packages, utilizing the 'as' keyword, and introduces how to use content manager.
Command LineNina introduces how to take only necessary arguments from the arguments collected using slicing, and how to ask for input from the user.
Testing in PythonNina gives an introduction to unit tests, integration tests, and functional tests. The 'assert' keyword's functionality is also demonstrated as a sanity check.
Unit TestingNina demonstrates how to write a unit test, how to write error messages for when the test doesn't pass, and how to run the test file from the command line as well as how to pass flags to get different output.
TestCase Assertions & Testing LibrariesNina shows the full list of TestCase assertions, and mentions the external libraries that can be explored when the standard Python testing library falls short.
Practice: Unit TestingNina live-codes the testing practice that reviews unit test principles that were covered in the last few sections.
Web FrameworksNina introduces several commonly used Python frameworks, including Django, Pyramid, and Flask.
Flask Hello WorldNina demonstrates how to start a Flask app.
RoutingNIna demonstrates how to add routes to the app, and also how to pass in a flag that reloads the app every time there is a saved change.
Templates & Other ResourcesNina demonstrates how to begin using the templating system in Flask, and gives resources for those wanting to continue learning about Flask.
Flask Practice SetupNina prepares the audience to go through the last exercise of the course.
Practice: Flask AppNina walks through the result of the Flask app practice.
Flask SummaryNina summarizes what was learned while doing the Flask app practice, and thanks the audience for coming.