High Quality — Python 3 Deep Dive Part 4 Oop

Python 3.8+ introduced structural subtyping via Protocol :

If a class attribute defines __get__ , accessing obj.attr becomes AttributeClass.__get__(attr, obj, type(obj)) . python 3 deep dive part 4 oop high quality