1__doc__ = u""" 2 >>> class Test(object): 3 ... def __init__(self, i): 4 ... self.i = i 5 >>> b = Test(1) 6 >>> b.spam = Test(2) 7 >>> b.spam.eggs = Test(3) 8 >>> b.spam.eggs.spam = Test(4) 9 >>> b.spam.eggs.spam.eggs = Test(5) 10 11 >>> a = f(b) 12 >>> a.i 13 2 14 >>> b.i 15 1 16 >>> a.spam.i 17 1 18 >>> b.spam.i 19 2 20 >>> a.spam.eggs.i 21 Traceback (most recent call last): 22 AttributeError: 'Test' object has no attribute 'eggs' 23 >>> b.spam.eggs.i 24 3 25 >>> a.spam.spam.i 26 2 27 >>> b.spam.spam.i 28 1 29 >>> a.spam.eggs.spam.i 30 Traceback (most recent call last): 31 AttributeError: 'Test' object has no attribute 'eggs' 32 >>> b.spam.eggs.spam.i 33 4 34 35 >>> a = g(b) 36 >>> a.i 37 3 38 >>> b.i 39 1 40 >>> a.spam.i 41 4 42 >>> b.spam.i 43 2 44 >>> a.spam.eggs.i 45 1 46 >>> b.spam.eggs.i 47 3 48 >>> a.spam.spam.i 49 Traceback (most recent call last): 50 AttributeError: 'Test' object has no attribute 'spam' 51 >>> b.spam.spam.i 52 1 53 >>> a.spam.eggs.spam.i 54 2 55 >>> b.spam.eggs.spam.i 56 4 57""" 58 59def f(b): 60 a = b.spam 61 a.spam = b 62 return a 63 64def g(b): 65 a = b.spam.eggs 66 a.spam.eggs = b 67 return a 68