- Level Professional
- Duration 18 hours
- Course by University of Michigan
-
Offered by
About
This course introduces classes, instances, and inheritance. You will learn how to use classes to represent data in concise and natural ways. You'll also learn how to override built-in methods and how to create "inherited" classes that reuse functionality. You'll also learn about how to design classes. Finally, you will be introduced to the good programming habit of writing automated tests for their own code. The course is best-suited for you if you are already familiar with Python fundamentals, which are covered in the "Python Basics" and "Python Functions, Files, and Dictionaries" courses (courses 1 and 2 of the Python 3 Programming Specialization). It is optional to have taken the "Data Collection and Processing with Python" course (course 3 of the specialization), but knowledge of retrieving and processing complex nested data is helpful. This is the fourth of five courses in the Python 3 Programming Specialization.Modules
Welcome to Python Classes and Inheritance!
1
Labs
- (Optional) Getting Started with Jupyter Notebooks
5
Videos
- Introduction to the Specialization
- What’s New? Updates and Improvements in the Second Edition
- Welcome to Python Classes and Inheritance
- How to Use the Interactive Textbook
- Executing Python in the Jupyter Environment (Optional)
2
Readings
- Syllabus
- Help Us Learn More About You!
Constructing Classes
7
External Tool
- Use the Runestone Practice Tool
- Introduction: Classes and Objects - The Basics
- Objects Revisited
- User Defined Classes
- Adding Parameters to the Constructor
- Adding Other Methods to a Class
- Public and Private Instance Variables
8
Videos
- Introduction: Constructing Classes
- User-Defined Classes
- Adding Parameters to the Constructor
- Adding Other Methods to a Class
- Instance Variable Search Order
- Private and Public Instance Variables
- Example: Creating Instances from Data
- Conclusion: Constructing Classes
Objects and Instances
- Assessment - Classes
1
Assignment
- Optional - What Did You Use to Practice This Week?
8
External Tool
- Objects as Arguments and Parameters
- Converting an Object to a String
- Instances as Return Values
- Sorting Lists of Instances
- Class Variables and Instance Variables
- Thinking About Classes and Instances
- Testing Classes
- A Tamagotchi Game
1
Labs
- Optional Lab - Classes
9
Videos
- Introduction: Objects and Instances
- Converting an Object to a String
- Special (dunderscore) Methods
- Instances as Return Values
- Sorting Lists of Instances
- Class Variables and Instance Variables
- Thinking About Classes and Instances
- Testing Classes
- Conclusion: Objects and Instances
Inheritance
7
External Tool
- Use the Runestone Practice Tool
- Introduction: Class Inheritance
- Inheriting Variables and Methods
- Overriding Methods
- Invoking the Parent Class's Method
- Multiple Inheritance
- Tamagotchi Revisited
1
Labs
- Optional Lab - Inheritance
6
Videos
- Introduction: Inheritance
- Inheriting Variables and Methods
- Overriding Methods
- Invoking the Parent Class's Method
- Multiple Inheritance
- Conclusion: Inheritance
Decorators
- Assessment - Inheritance
1
Assignment
- Optional - What Did You Use to Practice This Week?
2
External Tool
- Function Wrapping and Decorators
- Decorators with Classes
6
Videos
- Introduction: Decorators
- Function Wrapping and Decorators
- Decorators with Classes
- Property Decorators
- Method Decorators
- Outro: Decorators
More Advanced Functions
- Assessment - Decorators
1
External Tool
- Use the Runestone Practice Tool
7
Videos
- Introduction: More Advanced Functions
- Adding Documentation to Functions using Docstrings
- Dynamic Positional Arguments with *args
- Dynamic Keyword Arguments with **kwargs
- Decorators with arguments
- Built-in decorators in the functools module
- Outro: More Advanced Functions
Exceptions
- Assessment - Exceptions
3
External Tool
- Exceptions
- When to use Try/Except
- Standard Exceptions
1
Labs
- Optional Lab - Try Except
6
Videos
- Introduction: Exceptions
- Exception Handling Flow-of-control
- Handling Different Exception Types
- Exception Instances
- When to use Try/Except
- Conclusion: Exceptions
Way of the Programmer
3
Videos
- Debugging with Break Points
- Introduction to Django
- How Django Uses Classes and Inheritance
Python Classes and Inheritance - Final Course Project
- Assessment - Project: Wheel of Python
1
Videos
- Introduction - Final Course Project
Course Feedback
2
Readings
- Course Feedback
- Keep Learning with Michigan Online
Auto Summary
Explore the intricacies of object-oriented programming with the "Python Classes and Inheritance" course, a part of the Python 3 Programming Specialization offered by Coursera. Designed for IT and Computer Science enthusiasts, this professional-level course delves into the creation and management of classes and instances, emphasizing the principles of inheritance and method overriding. Throughout this course, you'll master the art of representing data effectively and gain insights into designing robust classes. Additionally, the course instills good programming practices, such as writing automated tests to ensure code reliability. Spanning 1080 minutes, this course is ideally suited for individuals who have a solid grasp of Python fundamentals, particularly those who have completed the "Python Basics" and "Python Functions, Files, and Dictionaries" courses. While not mandatory, familiarity with data collection and processing can be advantageous. The "Python Classes and Inheritance" course offers a comprehensive learning experience, making it an excellent choice for those aiming to deepen their Python programming skills and enhance their coding proficiency.

Steve Oney

Paul Resnick