Serial, Numbers sent as Floating Point and Characters are different at 1e-8 level
This is a somewhat dumb question but, in case anyone else searches it as pointed out:


  The precision of a float is around 7.2 decimal digits. en.wikipedia.org/wiki/Single-precision_floating-point_format –  BrettAM 


So in python the number goes float -> double -> decmial, whereas on the arduino the number goes float -> decimal. The additional step of the double in the case of python causes the discrepancies. But anything after the 7th decimal place is nonesense anyway.