Python 3.5 终于将 Type Hint(类型提示)官方化
来源:互联网 发布:数据库开发前景知乎 编辑:程序博客网 时间:2024/05/22 17:13
Python 3.5 终于将 Type Hint(类型提示)官方化
很久以前,我刚接触 Python 的时候,是很喜欢的,程序库很全,语法也很简单,一些在其他语言里要写很多行的事情,Python 里很少几行就搞定了。于是我用它写了不少小玩意儿,多半是在校时候的课程实践,诸如图像处理和人工智能的算法之类。当时最大的不爽,就是踏破铁鞋也找不到一个智能提示很强的 IDE。嗯我是被 IDE 宠坏的孩子,没有好的智能提示就很不安。
后来由于工作关系,PHP 写得比较多。显然坊间对 PHP 都是各种批评,但不管怎么说,PHP 作为一个动态弱类型语言,但大家都还常用 Type Hint,IDE 也比较给力(PHPStorm)。当然像 Java 和 C# 这样的静态强类型语言,用 IDE 写起代码来就更舒爽了。
这个时候再回过头看像 Javascript 和 Python 这样没有类型提示的动态语言,很多时候就感觉驾驭不了。心底会暗暗地想,没有类型提示编毛程。显然有这种感觉的也不只我一个,于是 Javascript 的世界里有了 Typescript (jsDoc 一定程度上也起到类型提示的作用),Python 的世界里有了 mypy。
Typescript 的在 Javascript 世界里的接纳程度,确实是逐渐升高了,看看 AngularJS,看看 Egret。
Python 世界里呢,似乎情况要更复杂一些,Python2 和 Python3 的分歧问题直到今天也没有完全解决,更别说类型提示了。文末有个视频,是今年 Python 的创始 Guido 在 PyCon 2015 US 上关于 Type Hint 的演讲。看起来 Guido 本人也是很早就在考虑这件事情了,只是这件事情一直都不是很高优先级的。
直到最近, 看起来 Guido 及若干 Google、DropBox 的童鞋觉得类型提示还是很有必要的,于是有了 PEP 0484。
照 Guido 自己说,Type Hint (类型提示) 有几个好处,总结起来说还是“帮你及早发现 Bug,编程更容易”。不过和 Python 2到3 的变化相比,Guido 说这个类型提示的加入是 “渐进的”,“可选的”,并没有破坏任何事情,而且本身就是建立在很多现有的第三方库的基础上(如mypy),而且可以向后兼容至 Python 3.2。另外就是 Guido 表示,在官方化之前,其实 Google、DropBox、PyCharm 都有自己的一套,统一起来的话,应该会获得更好的支持和更广泛的应用。
我个人其实一直非常期待 “类型化的 Python”,让 Python 的简单语法和类型安全、更聪明的 IDE辅助结合起来,应该是一种更舒爽的体验,现在它终于要来了~
最后是我从 PyVideo 搬运到优酷的 Guido 演讲,希望大家喜欢~
- Python 3.5 终于将 Type Hint(类型提示)官方化
- Oracle Hint的用法(HINT提示)
- oracle hint(提示)大全
- PHP 类型提示 type hinting
- PHP Type Hinting (类型提示)
- hint提示字用法(转)
- NET将数据类型分为值类型(value type)和引用类型(reference type)
- ES将删除映射类型(Removal of mapping type)
- (CvFileNode 结构) 终于被找到了 /* 文件节点类型 file node type */
- python TypeHint, 类型提示
- 跟着官方文档学HINT(-)测试表准备
- 跟着官方文档学HINT(二)优化器模式
- 跟着官方文档学HINT(三)优化器特性
- 跟着官方文档学HINT(四)访问路径
- 跟着官方文档学HINT(五)关联方式
- 跟着官方文档学HINT(六)连接顺序
- oracle提示(hint)
- oracle调优HINT提示
- 字符串右移函数
- 记一次理想浪漫的毕旅
- C#设置子窗体在主窗体中居中显示解决方案
- struts2 json includeProperties返回list为空
- Android横向滑动选项卡
- Python 3.5 终于将 Type Hint(类型提示)官方化
- exec 函数族 --多进程编程
- 定义一个Block
- Zxing在CameraManager.get().closeDriver()报错
- PHP本地实现虚拟域名访问:Apache虚拟主机配置
- leetcode解题报告228——Summary Ranges
- php页面静态化—静态化详细介绍
- 博客订阅Feed地址托管到GAE
- [Codeforces Round #310 (Div. 2)] #ABC题解