Python中可选静态类型的状态?

Gam*_*iac 22 python static-typing python-3.x

我已经玩了一段时间的Typscript了,我得说,捆绑了这样一个事实:nodejs比CPython的当前实现更快,因为我的web开发需求,我更倾向于用它来制作更多的东西.

事实上,我已经制作了几个基本的应用程序,甚至是桌面应用程序.我喜欢Typescript的事实是有可选的静态类型.这使得编码通常更容易,更不用说当你想快速编码并运行原型时,intellisense是惊人的.我在开发过程中遇到的错误也减少了.

但这就是问题所在,我已经使用Python一年了,我喜欢这种语言,而且我更习惯于语法.但是,越来越多,我看到可选的静态类型对于Python来说可能是一个很棒的加分点.所以,我做了一些研究,我首先开始尝试了解静态类型的情况.就像其他人一样,我用搜索引擎找出答案.

这些是我读过的一些信息来源:

  1. 在Python中添加可选的静态类型

如果你看一下这里的实现(摘自上面的链接):

from StringIO import StringIO

def foo(f: StringIO) -> str:
    f.write("hello")
    return f.getvalue()

f1 = StringIO("booh+")
print foo(f1)  # prints "booh+hello"
Run Code Online (Sandbox Code Playgroud)

现在,这看起来与Typescript中的实现非常相似.但是,如果你看看日期,它会一直追溯到2004年.

然后,我又看了一眼Guido制作的BDFL幻灯片:

  1. 为什么添加静态打字?

再一次,你看到同样的修辞.但是,我无法找到有关此问题的任何新信息.

我也看了一下这个关于强制静态类型的答案.

所以,我想问一下,在Python中添加可选静态类型的情况或状态是什么?或者我们是否需要发明像Typescript这样的东西但是对于Python 3?

我认为可选的静态类型很重要,因为在我自己非常有限的经验中,我已经看到像Typescript和C#这样的东西工作得更好,因为在制作复杂的类或制作大型项目时,我已经看到静态类型已经很长时间了帮助我更快地编写代码和无错误的方法.我相信我并不像这里的大多数开发人员那么好,但这是我的看法.这就是为什么我觉得这个问题很重要.我的意思是如果你有一个像C#这样的语言的可选类型,并且Python提供了漂亮的语法,那么Python可能是不可阻挡的(耶!).

我已经对此做了一些研究,但我没有任何实质性的内容,所以我希望SO的一些非常聪明的成员能够阐明这个问题.

Mar*_*ssi 18

或者我们是否需要发明像Typescript这样的东西但是对于Python 3?

那是mypy !!! :-)

就个人而言,我认为他们要么合并,要么Python会提出他们自己的解决方案.希望这很快就会发生!