Sessions at EuroPython 2011 about Python and Object Oriented Programming with video

Your current filters are…


Wednesday 22nd June 2011

  • Objects and classes in Python (and JavaScript)

    by Jonathan Fine

    Python has a well-thought out system for classes. Beginners can use it without understanding it all. Experts can use it to produce code that is both elegant and powerful (such as models and class-based views in Django). Python classes can be used for many purposes.

    This tutorial arises from the author's experience in using classes to solve problems, such as:
    A. Add custom methods and attributes to objects that are, at root, just an integer.
    B. Construct dictionaries whose values are functions.
    C. Construct classes on-the-fly.
    D. Implement JavaScript object semantics in Python (advanced topic).

    The outline syllabus is:
    1. Review of the class statement in Python (and decorators).
    2. Subclassing built-in types such as int and tuple.
    3. How to define classes without using a class statement.
    4. How to define a dispatch dictionary using a class statement.
    5. Metaclasses as syntactic sugar for class construction.
    6. Metaclasses to provide new class semantics.
    7. Review of JavaScript object semantics.
    8. Using Python classes to implement JavaScript object semantics.

    For Guido on the history of Python classes see

    This tutorial is for Intermediate or Advanced Python programmers. (Beginners will find it very hard going.) The aim of the course is to explain exactly what happens when a class in constructed, and to learn ways of using this knowledge.

    At 5:45pm to 6:15pm, Wednesday 22nd June

    Coverage video

Friday 24th June 2011

  • The Art of Subclassing

    by Raymond Hettinger

    All problems have simple, easy-to-understand, logical wrong answers.
    Subclassing in Python is no exception. Avoid the common pitfalls
    and learn everything you need to know about how subclass in Python.

    • Overriding and extending
    • Calling your parents
    • The ellipse / circle problem -- what does a subclass mean?
    • Liskov Substitution Principle
    • Open Closed Principle
    • The facts of life when subclassing builtin types
    • How to Implement Cooperative Multiple Inheritance
    • A example of perfect and simple python diamond
    • Beware the Concrete C API

    At 2:30pm to 3:30pm, Friday 24th June

    Coverage video