Q1: How are classes a way to manage the state in a big program? How should we think of classes conceptually?
< your answer >
Q2: What do we mean with instantiation? How do instances relate to classes?
< your answer >
Q3: What is an implementation detail? Name two different examples of implementation details regarding the Vector
and Matrix
classes!
< your answer >
Q4: How are instance methods different from class methods? How do special methods fit into the picture?
< your answer >
Q5: How do mutability and immutability come into play when designing a user-defined data type?
< your answer >
Q6: Explain the concept of method chaining!
< your answer >
Q7: How can we implement operator overloading for a user-defined data type? When do we need to user reverse special methods?
< your answer >
Motivate your answer with one short sentence!
Q8: An instance's text representation is a bytes
object with a special encoding.
< your answer >
Q9: Computed properties are special kinds of instance methods.
< your answer >
Q10: Sequence emulation means designing a user-defined data type around the built-in list
or tuple
types.
< your answer >
Q11: The Python Data Model can be regarded as the "Theory" or "Mental Model" behind the Python language.
< your answer >
Q12: Polymorphism means that two instances have the same data type, be it a built-in or user-defined one.
< your answer >
Q13: Number emulation means that two instances of the same user-defined data type can be added together.
< your answer >
Q14: Packages are a good place to collect all the code to be reused in a data science project, for example, across different Jupyter notebooks.
< your answer >