> On 22 Aug 2020, at 15:00, rawmin...@gmail.com wrote:
> 
> I wanted to know if there could be TypeError when giving wrong type for 
> arguments in functions
> (This usually happens when using other module's function)
> 
> e.g:
> 
> def sum(nom1: int, nom2: int):
>     nom = nom1 + nom2
>     return nom
> print(sum('hello',2))
> 
> if you run this code you will get TypeError for line 2 because 'you can only 
> concatenate str (not "int") to str'
> But what am i saying is can it raise TypeError for line 4 because I gave 
> 'hello' as nom1 and nom1 should be int
> 
> Now if I want to check arguments types I should use:
> 
> def sum(nom1: int, nom2: int):
>    if isinstance(nom1, int) and isinstance(nom1, int):
>         nom = nom1 + nom2
>         return nom
>    else:
>         raise TypeError('nom1 and nom2 should be int')
> print(sum('hello',2))
> 
> But if they can add what am I am i saying it can decrease lines of this 
> function by 50% and also function author should not worry about checking 
> types anymore!
> (I know I could use 'assert' but I just wanted to write it as simple as 
> possible)

Python does not check type annotations at runtime, although you could write a 
decorator that does this for you. It is unlikely that this will anytime soon.

Ronald
—

Twitter / micro.blog: @ronaldoussoren
Blog: https://blog.ronaldoussoren.net/ <https://blog.ronaldoussoren.net/>

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/KYPLIPGBAM2DTBVNHPITXEENNHE7WRTT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to