How to force static typing in python

since static typing is available in python 3.6.

Is it possible to force static typing for a python project or python fileset?

+3


source to share


2 answers


You can use annotations

in Python3, which can help you get some of the benefits of static input.



However, if static typing is to be fully enforced in Python, then it will no longer be Python. It is a dynamic language with a duck type and will lose all dynamism as a result. If you are really going to use a statically typed language, you are better off not using Python.

+3


source


I think you cannot force static typing

, but you can use checker like mypy

.

According to line 2 of The Zen of Python, by TimPeters

you have Explicit is better than implicit.

Static typing is fine, but Simple is better than complex.

...



$ python3.6
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let do more of those!

      

+2


source







All Articles