1234567891011121314151617181920212223242526272829303132333435 |
- from time import sleep
- class A(object):
- def __getattr__(self, name):
- sleep(0.001)
- print "Getting %s" % name
- return name
- def __setattr__(self, name, value):
- sleep(0.001)
- print "Setting %s to %s" % (name, value)
- object.__setattr__(self, name, value)
- class B(A):
- pass
- class C(A):
- def __getattribute__(self, name):
- sleep(0.001)
- print "Getting %s early" % name
- return "FOO"
- b = B()
- print "b.x = %s" % b.x
- b.x = "BAR"
- print "b.x = %s" % b.x
- c = C()
- print "c.x = %s" % c.x
- c.x = "BAR"
- print "c.x = %s" % c.x
|