In this talk, we will engage in imaginative play with the python language by deliberately misusing the python special methods (dunders) to construct objects with very odd behavior. While such objects may be unsuitable for any "serious" programming, having fun observing their behavior can help to provide a much richer understanding of the python language and interpreter.
Gaining a high degree of expertise with a programming language often requires a deeper understanding than is typically gained through normal work environments following best practices. To become a true expert, one needs to understand the consequences of not following these practices, and to be able to develop new techniques to best handle ever changing requirements and environments. While expertise can be developed through hard work and painful failures, I suggest that it is more fun to develop expertise in the same manner that small children learn - through free play and silly experimentation.
This presentation will go through a few examples of using the python special methods (dunders) to playfully construct oddly behaving objects and use them to better understand how specific components of the python language and interpreter really work. While this presentation is far to short to foster language expertise on its own, I hope that it may serve as inspiration to perform your own experiments with special methods, make your own strange objects, and work to understand why they behave in the manner that they do.
I'm a developer, system administrator, scientist, and educator who uses python in all of these roles. I currently work at the Vanderbilt University Advanced Computing Center for Research and Education (ACCRE) where I am developing a python libraries for systems and account management for our high-performance computing cluster.