Python 有丰富的软件库资源,包括开源数据分析工具、 Web 框架、测试工具等, 正是这些库资源使 Python 生态系统成长为最大的编程社区之一。
Python 社区提供了丰富的入门资料, 因此对于初学者来说,它是一门相当易学的语言。 Python 在大学里也广泛被用于教学,并且也在像树莓派那样的 对于初学者来说易于上手的设备上使用。
现在有好几种编程语言流行排行榜。 尽管我们可能会指责这些统计不太准确,但是所有的排行榜上都将 Python 列为一门 Top10 的编程语言 -- 如果还未进前五的话。
IEEE 在将 Python 列为2017年 Top1 的编程语言以及2016年 Top3 的编程语言后,将 Python 列为2018年 Top1 的编程语言。 而 RedMonk 2017年6月排行榜将 Python 列为第 3 名,相比它们两年前的排名提高了1位。
Stack Overflow 的社区创建的问答数据证实了Python生态系统令人难以置信的增长, 并试图通过他们自己的分析来确定它为何如此快速地增长。 在2018年 Stack Overflow 开发人员调查中,数据表明Python是增长最快的主要编程语言, 开发人员选择学习的语言和工具与开发人员专业工作中的使用之间存在密切的一致性。
TIOBE 指数, 一份运营了相当长时间的语言排行榜上,Python 已经升至第4名,之前几年还是第8名。
编程语言流行指数 (PYPL), 一份基于谷歌趋势上的搜索关键字分析数字的排行榜,将 Python 列为第 2 名。
GitHut, 一个Github 语言流行度可视化网站上,总的来说也将 Python 订在第 3 名。
这些排行榜提供了语言流行度的大体度量。 它们不是想作为一种精确测量工具来确切地统计出有多少开发人员使用某种语言。 不过,纵观以上的数据可以看出, Python 一直保持为一门稳定的编程语言,并且 其生态系统也在不断成长。
每门编程语言都有自己独特的生态系统、文化和哲学。 如果你的编程方法不遵循你选择的编程语言的哲学,你将很难融入社并且会感到很难学习。
Python 的文化价值体现在开源软件活动、 社区在地方性、国内和国际性的事务上的参与度以及 乐与指导初学者等方面。 如果这些价值对你/或者你的组织同样重要,那么 Python 就很适合你。
Python 非常注重语言哲学,这种哲学甚至被嵌入进了语言本身,例如当解译器执行 import this
后
会显示 Python 之禅的内容。
>>> 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's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
译文:
Python 之禅
优美胜于丑陋。
明了胜于晦涩。
简洁胜于复杂。
复杂胜于凌乱。
扁平胜于嵌套。
间隔胜于紧凑。
可读性很重要。
即便假借特例的实用性之名,也不可违背这些规则。
不要包容所有错误,除非你确定需要这样做。
当存在多种可能,不要尝试去猜测。
而是尽量找一种,最好是唯一一种明显的解决方案。
虽然这并不容易,因为你不是 Python 之父。
做也许好过不做,但不假思索就动手还不如不做。
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然。
命名空间是一种绝妙的理念,我们应当多加利用。
编程语言排名和语言背后的哲学为你应该学习 Python 的原因提供了可靠的初始数据点。 这些资源还提供了人们为什么从其他编程社区转换的观点,以及为什么他们主张将 Python 作为主要语言。
如何主张使用 Python 阐述了尽管选择一门编程语言是很复杂的,但是 Python 在大多数情况下是一种不错的选择。
为什么我力推 Python 阐述了一位教授极力推广将 Python 用于本科生编程教学的理由。
如果你对 Python 的动态类型系统与静态类型语言的区别还不太清楚,那么可以 看下关于这一专题的透彻解释。
为什么我从 C#.NET 转到将 Python 作为我的默认语言和平台 (并且不再回头) 这篇文章中的观点来自一个用代码捣鼓一些项目的非职业开发者。 他发现微软的 .NET 生态系统无法满足他的需求,而 Python 因其广泛的开源代码库、包管理 和在非 Windows 平台上的良好表现填补了这个空缺。
Python, 机器学习和语言战争 比较了 Python 和 R, MATLAB 和 Julia 对于数据科学工作的作用. 虽然 Python 非常适合部署自动化和 Web 开发,但许多非开发人员第一次接触语言和生态系统是在完成数据分析工作过程中。
Python: 超越 Web 应用程序 提供使用 Python 的非 Web 开发项目示例。 本文还将 Python 与其他常见编程语言(如 Java,Ruby 和 JavaScript)进行了比较和对比。
Python 或 Ruby 做 Web 开发 给出了 Python 与只关注于Web开发的 Ruby 语言之间的对比。
如果你担心 Python 2 和 Python 3 社区之间的分裂, 你应该选择Python 3。 要了解有关公司如何处理升级的更多信息,请查看 Instagram 顺利迁移到Python 3,迁移到 Python 3的实用步骤,以及迁移到 Python 3中学到的经验教训。
Fix errors in your Python code before your users see them by monitoring with Rollbar.
Deploy web apps with the Ansible configuration management tool.
Build microservices with Docker, Flask & React in this great course.