我使用Typscript已经有一段时间了,我必须说,由于我的web开发需要,nodejs比当前的CPython实现更快,因此我更倾向于用它做更多的事情.

事实上,我已经用它做了一些基本的应用,甚至是桌面apply.我喜欢Typescript的地方在于它有可选的静态类型.这使得编写代码变得容易得多,更不用说intellisense在您想要快速编写代码并运行原型时的表现非常出色.我在开发过程中也遇到了更少的bug.

但问题就在这里,我已经使用Python一年了,我喜欢这种语言,我只是更习惯于语法.然而,我越来越多地看到,对于Python来说,可选的静态类型是一个很棒的优点.所以,我做了一些研究,我首先试图了解目前静态类型的情况.和其他人一样,我用搜索引擎找到了答案.

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

  1. Adding Optional Static Typing to 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"

在这个实现中,Typescript看起来非常类似.然而,如果你看一下日期,它会一直追溯到2004.

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

  1. Why Add Static Typing?

你又看到了同样的修辞.然而,我还没有找到任何关于这方面的新信息.

我还研究了@ this SO answer种强制静态类型.

所以,我想问,在Python中添加可选静态类型的情况或状态是什么?或者我们需要为Python3发明类似Typescript的东西吗?

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

我对此做了一些研究,但我没有得到任何实质性的东西,所以我希望so的一些杰出而明智的成员能够阐明这个问题.

推荐答案

或者我们需要为Python3发明类似Typescript的东西吗?

这是100!!!:-)

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

Python-3.x相关问答推荐

字符串块数组:如何根据一个数组中的元素对另一个数组中的元素进行分组

我无法直接在 VSCode 中运行该程序,但可以使用 VScode 中的终端运行它

匹配语句NaN

如何立即从asyncio.Task获取异常?

Pandas教程:如何更新行内数值的位置

是否可以将多个 if 转换为数组?

正则表达式从文本文件中捕获包含制表符/空格和子字符串的部分字符串

pip install mysqlclient 失败为 mysqlclient 运行 setup.py bdist_wheel ... 错误

例外:使用 Pyinstaller 时找不到 PyQt5 插件目录,尽管 PyQt5 甚至没有被使用

Python - 使用 OpenCV 将字节图像转换为 NumPy 数组

在气流中运行 DAG 时出现处理信号:ttou消息

如何并行化文件下载?

在 sklearn.decomposition.PCA 中,为什么 components_ 是负数?

str.format_map(mapping) 和 str.format 有什么区别

如何将 SimpleGUI 与 Python 2.7 和 3.0 shell 集成

python 内置的 __exit__ 参数类型是什么?

如何找出从哪个模块导入名称?

使用 urllib3 忽略证书验证

Python 2 与 Python 3 - urllib 格式

Django 教程 unicode 不起作用