I'm teaching a python class on Object Oriented Programming and as I'm brushing up on how to explain Classes, I saw an empty class definition:
john = Employee()
john.full_name = "john doe"
john.greet() = print 'hello world!'
A class is more or less a fancy wrapper for a
dict of attributes to objects. When you instantiate a class you can assign to its attributes, and those will be stored in
foo.__dict__; likewise, you can look in
foo.__dict__ for any attributes you have already written.
This means you can do some neat dynamic things like:
class Employee: pass def foo(self): pass Employee.foo = foo
as well as assigning to a particular instance. (EDIT: added