以下调查统计基于“您最喜欢Python语言中的哪3个功能”,这个统计很有意义,这些Python开发作为受访者,反馈的最喜欢的功能都是他们平时开发中觉得最方便最有价值的功能,初学者在学习过程中也可以重点去学习了解这些功能,将Python语言的优势发挥到最大。
Python官方和Pycharm的调查结果
Python的功能点价值和难易程度分析排开“易于读写代码、高级语言”这些个人主观性的功能,从技术角度整理出来的值得关注的其他功能如下,分别从重要程度,难易度和推荐程度来评估功能特性,其中重要程度最高5分,最低1分,分值越高,越重要,难易度分为简单、中等和困难三个等级,推荐程度则按照个人的团队开发和工程化经验来总结的推荐情况。
包括推导式和生成器这两种对象生成功能, 动态类型和鸭子类型语法糖,还有强大方便的标准库,Python的内置数据结构也比较高级,包括列表、元组和字典等等,每种数据结构作为对象还有其功能丰富遍历的函数。
功能深度剖析(1)
还有表达式、字符串和格式处理这些方便运算和打印输出的功能,Python作为一门高级语言,还有并发和并行功能以提升IO等待的程序性能。
功能深度剖析(2)
Python功能分析背后的思考深度分析调查统计结果,有14个技术相关的功能,有13个功能都非常有价值,里面7个都非常简单,容易掌握,4个中等难度,学习掌握问题也不大,比较困难的只有1个,并发并行相关,主要也是涉及到高并发高性能场景下的应用。多范式跟语言无关,主要取决于团队或者个人应用实现的思维方式。
单从语言来说,Python确实非常适合初学者入门,不管是自学,还是参与培训,Python作为一门高级语言能够让小白或者非计算机专业人士更快速的接触到程序开发的核心。
作为专职开发,Python也能够在计算量不大实时性要求不高的所有场景下得到应用,其功能简单易学,代码量少,开发效率高,出Bug概率低。Python是解释性语言,不需要编译,直接就可以运行,在开发调试过程中能够感受到它这方面带来的便利性,这些都是众多的Python开发者喜欢这门语言的原因。
Python性能虽差,但处理响应仍然是ms级的
CPU密集型场景,Python确实无法胜任,一般是调用其他C/C 实现的代码或者库
以下调查统计基于“您想将哪3种语言功能添加到Python中”,这里面的功能点比较有意思,体现了很多其他语言的开发者基于自身习惯的诉求。里面我觉得比较有意思的有适用于移动端开发的库和框架,改进对GUI库的支持,体现了部分Python开发希望Python能更好的支持客户端的开发。
Python官方和PyCharm针对希望改进功能点调查结果
在团队开发或者大项目开发中,Python的动态类型确实是弊大于利,所以“静态类型和严格的类型提示”让人觉得是Python最欠缺的功能,这个问题在很多方面做出了优化,Python3可以声明变量和入参的类型(虽然不是强制的),PyCharm的IDE也会做类型校验和判断提示。
至于性能方面的,不管是性能改建,还是并发和并行能力改进,个人感觉都不是太必要,一个语言不可能万能的,如果Pyton的性能跟C一样了,那才是逆天不可能的事情,想想也不现实。在非CPU密集型场景下,Python的内存占用以及CPU占用都能够很好满足应用了。
很多开发者可能体验到Python的便利性,仍然希望Python具备万能的功能,比方改进移动端和GUI开发(当前有Kivy/Flet/NiceGUI等等大量的前端和移动端开发框架)、内存管理和指针等功能,也体现了Python开发者的一些朴素的愿望:)。