I know that you can do integer calculation in Python with astronomically large numbers. What is the precision limit when using floats?

Python's floating point precision is that of a double in C (about 16 digits). For higher precision you can use the Python module decimal.