Classes and Objects
Inheritence
Polymorphism
Abstraction
Encapsulation
100

This keyword is used to define a new class in Python

What is class?

100

This term describes a class that inherits attributes and methods from another class

What is a subclass (child class)?

100

This term describes the ability of different classes to respond to the same method call in different ways

What is polymorphism?

100

A class containing at least one method with no implementation, meant only to be subclassed, is called this

What is an abstract class?

100

This term describes bundling data and the methods that operate on it within a single class

What is encapsulation?

200

This special method is automatically called when a new object is created from a class

What is __init__

200

This term describes the class being inherited from

What is a superclass (parent class)?

200

When a subclass provides its own version of a method already defined in its parent, this is what's happening

What is method overriding?

200

This module in Python's standard library provides tools for creating abstract base classes

What is abc?

200

Prefixing an attribute with a single underscore, like _balance, signals this convention to other developers

What is "protected" (a protected member)?

300

This parameter, always listed first in instance methods, refers to the object calling the method

What is self

300

This built-in function lets a child class call a method from its parent class

What is super()?

300

This built-in function, when called on +, -, or * between custom objects, relies on polymorphism via dunder methods like __add__

What is an operator (operator overloading)?

300

This is what happens if you try to directly create an instance of a class that has unimplemented abstract methods

What is a TypeError (instantiation fails)?

300

Prefixing an attribute with double underscores, like __balance, triggers this Python mechanism

What is name mangling?

400

A class is a blueprint, and this term describes a specific object created from that blueprint

What is an instance?

400

Python supports this type of inheritance, where a class can inherit from more than one parent class

What is multiple inheritance?

400

This term describes an object's ability to be treated as an instance of its parent class, enabling polymorphic behavior

What is upcasting?

400

This term describes the exposed methods and properties a class offers to the outside world, hiding the messy internals

What is an interface?

400

This decorator lets you define a method that can be accessed like an attribute, often used to control access to private data

What is @property?

500

This built-in function returns True if an object is an instance of a specified class

What is isinstance()

500

This dunder attribute shows the method resolution order used when a class inherits from multiple classes

What is __mro__

500

This concept, often summarized as "if it walks like a duck," lets Python use polymorphism without requiring explicit inheritance

What is duck typing?

500

In Python, you achieve abstraction without the formal abc module by simply defining a method in the parent that raises this built-in exception, expecting subclasses to override it

What is NotImplementedError?

500

This decorator, paired with a @property, lets you define custom logic for setting an attribute's value

What is @<attribute>.setter?

M
e
n
u