The core of the Python data model architecture is special methods (also known as "magic methods"). These methods, which start and end with double underscores, such as __init__, __getitem__, and __len_ ...
Numbers provide literal or scalar storage and direct access. A number is also an immutable type, meaning that changing or updating its value results in a newly allocated object. This activity is, of ...
Not sure about rational support, but SmallTalk and ABC (predecessor to Python) have 'exact' or something, at least for integers, so you can do silly things like 1000!, if you have enough memory and ...