ValueError and TypeError in python ValueError and TypeError in python python python

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


Just would like to add one more point to David's answer.

TypeError can also occur, when we pass incorrect no of arguments to a function.

eg:

def hello(int x,int y):    passhello(12)

This also gives you TypeError:

hello() missing 1 required positional argument: 'y'