Sign up for DUTC Weekly: https://mailchi.mp/dutc/ytweekly
LinkedIn: / do-n-t-use-this-code
Website: https://www.dontusethiscode.com/index...
Upcoming events: learning.dutc.io
Looking for training? Contact [email protected]
How do things really work? What’s going on behind the scenes? How much of this really matters; how much does one REALLY need to know?
This series is part of (More) Python Basics for Experts - session 1.
In this series, our goal is to talk about the design of the Python language and to gain a better understanding of the motivation and metaphors behind common features and functionalities. We will look to answer the following questions:
• What is the design thinking behind @property? Where does it come up in practice? What are the different ways to avoid “update anomalies” using @property (and when do I decide which approach to use)?
• What is the design thinking behind @classmethod? Where does it come up in practice? What is a “nominal decomposition of a bounded modality,” and how does knowledge of this pattern affect my work?
• How do I decide what parts of the Python object model to implement?
• When is something an instancemethod and when is something a _getattr_ or a _getitem_ or a __call__?
• What is a metaclass? What is _build_class_ and __init_subclass__? Where do they show up in real code?
• What is a class decorator? How is it distinct from __init_subclass__?
• What is inheritance? What is composition? What other options exist in Python beyond these two choices (e.g., mechanical construction)?