Skip to content

johnhhu2020/DataCamp-Object-Oriented-Programming-in-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 

Repository files navigation

DataCamp Object-Oriented Programming in Python

Course Description

Object-oriented programming (OOP) is a widely used programming paradigm that reduces development times—making it easier to read, reuse, and maintain your code. OOP shifts the focus from thinking about code as a sequence of actions to looking at your program as a collection of objects that interact with each other. In this course, you’ll learn how to create classes, which act as the blueprints for every object in Python. You’ll then leverage principles called inheritance and polymorphism to reuse and optimize code. Dive in and learn how to create beautiful code that’s clean and efficient!

OOP Fundamentals

In this chapter, you'll learn what object-oriented programming (OOP) is, how it differs from procedural-programming, and how it can be applied. You'll then define your own classes, and learn how to create methods, attributes, and constructors

What is OOP?     50 xp
OOP termininology     100 xp
Exploring object interface     100 xp
Class anatomy: attributes and methods     50 xp
Understanding class definitions     100 xp
Create your first class     100 xp
Using attributes in class definition     100 xp
Class anatomy: the __init__ constructor     50 xp
Correct use of __init__     50 xp
Add a class constructor     100 xp
Write a class from scratch     100 xp

Inheritance and Polymorphism

Inheritance and polymorphism are the core concepts of OOP that enable efficient and consistent code reuse. Learn how to inherit from a class, customize and redefine methods, and review the differences between class-level data and instance-level data

Instance and class data     50 xp
Class-level attributes     100 xp
Changing class attributes     100 xp
Alternative constructors     100 xp
Class inheritance     50 xp
Understanding inheritance     100 xp
Create a subclass     100 xp
Customizing functionality via inheritance     50 xp
Method inheritance     100 xp
Inheritance of class attributes     100 xp
Customizing a DataFrame     100 xp

Integrating with Standard Python

In this chapter, you'll learn how to make sure that objects that store the same data are considered equal, how to define and customize string representations of objects, and even how to create new error types. Through interactive exercises, you’ll learn how to further customize your classes to make them work more like standard Python data types.

Operator overloading: comparison     50 xp
Overloading equality     100 xp
Checking class equality     100 xp
Comparison and inheritance     100 xp
Operator overloading: string representation     50 xp
String formatting review     100 xp
String representation of objects     100 xp
Exceptions     50 xp
Catching exceptions     100 xp
Custom exceptions     100 xp
Handling exception hierarchies     100 xp

Best Practices of Class Design

How do you design classes for inheritance? Does Python have private attributes? Is it possible to control attribute access? You'll find answers to these questions (and more) as you learn class design best practices.

Designing for inheritance and polymorphism     50 xp
Polymorphic methods     50 xp
Square and rectangle     100 xp
Managing data access: private attributes     50 xp
Attribute naming conventions     100 xp
Using internal attributes     100 xp
Properties     50 xp
What do properties do?     50 xp
Create and set properties     100 xp
Read-only properties     100 xp
Congratulations!     50 xp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published