Instance variable rules
On use via instance (self.x), search order:
- (1) instance, (2) class, (3) base classes
- this also works for method lookup
On assigment via instance (self.x = ...):
- always makes an instance variable
Class variables "default" for instance variables
But...!
- mutable class variable: one copy shared by all
- mutable instance variable: each instance its own