Course Highlights
  • In this module of the Python course, you'll learn how to write programs using the object-oriented approach to programming. You'll get to know how to model your code around objects and classes and apply this way of programming by building a game. You'll also learn about web scraping, exception handling, and writing tests for your programs.
Skills you will learn!
Curriculum

3 Topics
Prerequisites: Python 101 & Python 201
About Python 301
Download Python 301 Labs

27 Topics
Introduction to OOP in Python
Python OOP - Main Concepts
Why Use a Python Class
Video: Why Use a Python Class
Python Classes Are Blueprints for Python Objects
How to Create a Python Class
Video: Python Class Example
Quiz: Python Classes & OOP
Python Classes Objects and Instance Variables
Python __init__() Arguments
Video: Initializing Attributes
Video: Class Recap + Instance Variables
Python Methods
Video: Python Methods
What is Python self?
Python Dunder Methods
Python __str__() and Python __repr__()
Video: Python Dunder Methods
Video: Custom Python Dunder Methods
Implementing Python Operators
Quiz: Class Attributes and Dunder Methods
Lab: Python Classes and Python Methods
Python Project: Ingredient List
Python Project: Pokemon Game
Video: Build a Pokemon Game Class
Python Project: RPG Game
Feedback: Python Classes & Methods

22 Topics
Introduction to Python Inheritance
Video: What You'll Build
Creating a Python Subclass
Adding Functionality to Python Subclasses
Video: Spicy Subclasses
Python Subclass: Method Override
Video: Python Subclass Method Override
Customize Python __init__
Video: Spices be Spicy
When to Use Python Inheritance
Python Object Composition
Python Object Composition Example
Example Ingredient Python Class
Video: Python Inheritance Recap
Quiz: Python Inheritance
Lab: Python Inheritance
Video: Python Project - Cooking Soup
Python Project: Cooking Soup
Python Project: Extend Your RPG Game
Video: Project RPG Inheritance
Python Project: Card Game
Feedback: Python Inheritance

13 Topics
Introduction: Web Scraping
Working with JSON
Developer Tools: Inspect Element
Python Web Scraping Example
Introduction to BeautifulSoup
Python BeautifulSoup Example
Quiz: Web Scraping
Lab: Web Scraping
Python Project: Recipe Collection
Python RegEx
Video: Python RegEx
Conclusion: Web Scraping
Feedback: Python Web Scraping

19 Topics
Introduction: Python Exceptions
Python Try Except
Look Before You Leap
Catch Python Exceptions
Video: Python Exception Handling
Catch Multiple Python Exceptions
Python Try Except Else
Python Raise Exception
Python Custom Exceptions
Video: Python Raise Exception
How to Modify a Python Custom Exception
Python Exception Handling Overview & Recap
When Does Python Use Exceptions
Try to Avoid Python Exceptions
Conclusion: Python Exceptions
Quiz: Python Exceptions
Lab: Python Exceptions
Python Project: Exceptions
Feedback: Python Exceptions

25 Topics
Why Create a Python Test
Test-Driven Development Best Practices
Video: Test-Driven Development
Example Unit Test in Python
Video: Create a Python Unit Test
How to Run a Python Unittest
How to Read Python Unittest Results
Video: How to Read Python Unittest Results
Challenge: Test Your Web Scraper
What is TDD
Video: TDD Introduction
Write a Python Unit Test
Video: Write Failing Python Unit Test
Transform Python Test Function
Video: Transform Python Test Function
Python Test Driven Development Example
Video: Python Test Driven Development Example
Video: Add More Python Test Functionality
Python Test setup() and tearDown()
Python Pytest Framework
Quiz: Python Testing
Lab: Python Testing
Solution Code For Python Test Suite
Python Project: Python Test Suite
Feedback: Python Testing

23 Topics
Introduction to Python Decorators
Python Decorators Step 1: View Python Functions as Objects
Video: View Python Function as Objects
Python Decorators Step 2: Understand the Python Scope
Video: Understand the Python Scope
Python Decorators Step 3: Use Python Arguments
Video: Use Python Arguments
Python Decorators Step 4: Test an Empty Python Decorator
Video: Test an Empty Python Decorator
Python Decorators Step 5: Modify the Python Decorator
Video: Modify the Python Decorator
Video: Python Decorators as Variables - Syntactic Sugar
Python Decorator Versatility
Real Applications of Python Decorators
Passing Arguments Through Python Decorators
Python Decorators Passing Unlimited Arguments
Python Decorators With Arguments
Python Rate Limit Decorator Example
Recap: Python Decorators
Quiz: Python Decorators
Lab: Python Decorators
Python Project: HTML Python Decorator
Feedback: Python Decorators

11 Topics
Python Abstract Data Structures
Measuring Algorithm Complexity using Big O Notation
Linked Lists in Python
Build a Linked List in Python
Extend Python Linked Lists
Python Queue and Python Stack
How to Build a Python Queue
Extend the Python Queue
Additional Python Data Structures
Lab: Python Abstract Data Structures
Feedback: Python Abstract Data Structures

7 Topics
Idiomatic Python Data Structures
Use a List in a Stack or Queue
Python Collections Library
Python Deque for Python Queue and Stack
Python Array with Type
Python namedtuple
Feedback: Idiomatic Data Structures

3 Topics
Python 301: Capstone Project
Python 301: Capstone Project Requirements
Feedback: Python 301 Capstone

7 Topics
Video: Congratulations!
Request Completion Certificate
Feedback: Python 301 Next Steps
Use Your New Python Skills
New Paths with Python
Python Web Development
Python Data Analysis and Data Science

  Write a Review

Python 301 - Object-Oriented Python

Go to Paid Course