1 class C: 2 def m(self): 3 return 1 4 5 D = C # alias for C 6 7 print C # "<type>" 8 print D # "<type>" 9 10 class E: 11 def m(self): 12 return 2 13 14 F = E # alias for E 15 16 print E # "<type>" 17 print F # "<type>" 18 19 def f(): 20 c = C 21 d = D # C 22 cm = C.m 23 dm = D.m # C.m 24 25 print c # "<type>" 26 print d # "<type>" 27 print cm # "<function>" 28 print dm # "<function>" 29 30 c = E 31 d = F # E 32 cm = E.m 33 dm = F.m # E.m 34 35 print c # "<type>" 36 print d # "<type>" 37 print cm # "<function>" 38 print dm # "<function>" 39 40 f() 41 42 Cm = C.m 43 Dm = D.m 44 Em = E.m 45 Fm = F.m 46 47 print Cm # "<function>" 48 print Dm # "<function>" 49 print Em # "<function>" 50 print Fm # "<function>" 51 52 def g(): 53 Cm = E.m 54 Dm = F.m # E.m 55 56 print Cm # "<function>" 57 print Dm # "<function>" 58 59 g() 60 61 def h(): 62 global Em, Fm 63 Em = C.m 64 Fm = D.m # C.m 65 66 print Cm # "<function>" 67 print Dm # "<function>" 68 69 h() 70 71 Ci = C() 72 Ei = E() 73 74 print Ci # "__main__.C" 75 print Ei # "__main__.E" 76 77 def i(): 78 c = Ci 79 print c # "__main__.C" 80 c = Ei 81 print c # "__main__.E" 82 83 i() 84 85 def j(): 86 global Ei 87 Ei = C() 88 print Ei # "__main__.C" 89 90 j() 91 92 L = [] 93 M = [1] 94 95 print L # [] 96 print M # [1] 97 98 def k(): 99 c = L 100 print c # [] 101 102 k() 103 104 def l(): 105 global M 106 M = [] 107 print M # [] 108 109 l() 110 print M # []