Object Oriented Programming - ANS-designing a program by discovering objects, their
properties, and their relationships
Class - ANS-A data type that holds different objects
Object - ANS-An instance of a class
Method - ANS-Standard convention to use self as the name of the first parameter to a
method
Initializer - ANS-the __init__ method
magic methods / dunder methods - ANS-Methods that start and end with two
underscores such as __init__ or __str__
Encapsulation - ANS-1. Combining into a single thing, data and the methods that
operate on that data
2. The boundary between the inside and the outside of the class, specifying what is
visible to the users of a class.
This often means partitioning the attributes into public and private
This is done by putting a single underscore in the beginning of a variable name
subclasses - ANS-No inheritance from another class, they function as a base class
superclass - ANS-Common point between other subclasses into one class
ex: class Triangle(polygon)
This is a superclass since a triangle is a polygon, and inherits the characteristics of a
polygon from the polygon superclass
Duck Typing - ANS-Duck typing is the act of determining if an object is of the correct
"type" by simply checking if it has attributes or methods of the right names. This much
weaker than using the type() function, because two completely different classes (and