As you have seen, the addition of 10 and 10.1 is a decimal (float) 20.1
Of course, it should be 20.1, a float value, right. Actually, its slightly more complicated than one might think. 10 is an integer and 10.1 is a float data type.
To be honest, we have different data types for a reason. By default we can not add one type of data type to another one. But because addding up integers and floats outputs a decimal, python first does a type conversion of integer to float.
So, python first converts the data type of variable a (integer 10) to float and then the two float values (a+b) are added, so the result comes as a data type of float. This process when the type conversion is done automatically by python is called implicit type casting.
Some little details that we should we aware of, right. Not convinced yet? Let's look at more challenging example.