Object-oriented programming has grown from a new and interesting idea to a pervasive concept and paradigm in the programming world. But what is object-oriented programming all about? What problems was it intended to solve? How does Python‘s implementation of objects differ from the original ideas that were proposed decades ago? What is subclassing supposed to do for us? And how is all of this supposed to help programmers get things done? In this talk, Iwan Vosloo introduces these ideas, and compares this theory with how Python does things. If you are new to object-oriented programming, or to Python’s view of objects, then this talk should help to answer some of the questions you might have.