2021-10-31 | Paul Boddie | raw annotate files changeset graph | Introduced a dedicated integer type based on ssize_t. This allows integers to be used for sizes and lengths in native and low-level operations whilst also supporting their storage in the same amount of space as a pointer, thus avoiding the inflation of attributes that might occur if a larger type were chosen. |
1 class C: 2 def __init__(.x, .y, .z, x): # no explicit self, attributes initialised 3 pass 4 5 def c(): 6 return self.x 7 8 class D(C): 9 def d(): 10 return self.y 11 12 class E(D): 13 def c(): 14 return self.z 15 16 c = C(1, 2, 3, 4) 17 d = D(1, 2, 3, 4) 18 e = E(1, 2, 3, 4) 19 20 print c.c() # 1 21 print d.c() # 1 22 print e.c() # 3 23 print d.d() # 2 24 print e.d() # 2