ValueError and TypeError in python
A Value error is
Raised when a built-in operation or function receives an argument that has the right type but an inappropriate value
the float
function can take a string, ie float('5')
, it's just that the value 'string'
in float('string')
is an inappropriate (non-convertible) string
On the other hand,
Passing arguments of the wrong type (e.g. passing a list when an int is expected) should result in a TypeError
so you would get a TypeError
if you tried float(['5'])
because a list can never be converted into a float.
Cite
ValueError a function is called on a value of the correct type, but with an inappropriate value
TypeError : a function is called on a value of an inappropriate type
They are well explained in Python Documentation.
I would add examples for both of them:
TypeError:
10 + 'a'
ValueError:
int("hello")