1 2class Super(object): 3 attribute = 3 4 5 def func(self): 6 return 1 7 8 class Inner(): 9 pass 10 11 12class Sub(Super): 13 #? 13 Sub.attribute 14 def attribute(self): 15 pass 16 17 #! 8 ['attribute = 3'] 18 def attribute(self): 19 pass 20 21 #! 4 ['def func'] 22 func = 3 23 #! 12 ['def func'] 24 class func(): pass 25 26 #! 8 ['class Inner'] 27 def Inner(self): pass 28 29# ----------------- 30# Finding self 31# ----------------- 32 33class Test1: 34 class Test2: 35 def __init__(self): 36 self.foo_nested = 0 37 #? ['foo_nested'] 38 self.foo_ 39 #? 40 self.foo_here 41 42 def __init__(self, self2): 43 self.foo_here = 3 44 #? ['foo_here', 'foo_in_func'] 45 self.foo_ 46 #? int() 47 self.foo_here 48 #? 49 self.foo_nested 50 #? 51 self.foo_not_on_self 52 #? float() 53 self.foo_in_func 54 self2.foo_on_second = '' 55 56 def closure(): 57 self.foo_in_func = 4. 58 59 def bar(self): 60 self = 3 61 self.foo_not_on_self = 3 62 63 64class SubTest(Test1): 65 def __init__(self): 66 self.foo_sub_class = list 67 68 def bar(self): 69 #? ['foo_here', 'foo_in_func', 'foo_sub_class'] 70 self.foo_ 71 #? int() 72 self.foo_here 73 #? 74 self.foo_nested 75 #? 76 self.foo_not_on_self 77