Since you said "always", I'll be "that guy"...
For the builtin types, yeah. But not in general; user code can do whatever it wants:
class MyType: def __getitem__(self, *args): return self my_obj = MyType() my_other_obj = my_obj[3:7] assert my_other_obj is my_obj
Since you said "always", I'll be "that guy"...
For the builtin types, yeah. But not in general; user code can do whatever it wants: