python基础进阶1.1:python发展史概述

Python的历史

Python的创始人为吉多·范罗苏姆。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释编程,作为ABC语言的一种继承。之所以选中Python作为编程的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。就这样,Python在吉多手中诞生了。实际上,第一个实现是在Mac电脑上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。当前吉多仍然是Python的主要开发者,决定整个Python语言的发展方向。Python社群经常称呼他是终身仁慈独裁者(BDFL)。Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社群对开发进度的影响逐渐扩大。Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。

特性与设计哲学


Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多重继承,有益于增强源代码的复用性。Python支持重载运算符,因此Python也支持泛型设计。Python本身被设计为可扩展的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C、C++、Cython来编写扩展模块。Python的设计哲学是“优雅”、“明确”、“简单”。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”,也因此它和拥有明显个人风格的其他语言很不一样。在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法。这些准则被称为“Python格言”。

其设计哲学如下:

优雅胜于丑陋。
明确胜于含糊。
简单胜于复杂。
复杂胜于繁琐。
扁平胜于嵌套。
间隔胜于紧凑。
可读性很重要。
即使假借特殊之名,也不应打破这些原则。
尽管实践大于理论。
错误不可置之不理。
除非另有明确要求。
面对模棱两可,拒绝猜测。
用一种方法,最好是只有一种方法来做一件事。
虽然这种方式开始时并不容易,除非你是 Python 之父。
但从现在就开始这么做,总比永远都不做好。
尽管经常有时 “没有做” 反倒比 “现在立马做“ 结果要好。
如果一个实现不容易解释,那么它肯定是个坏主意。
如果一个实现很容易解释,那么它也许是个好主意。
就像命名空间就是一个绝妙的想法,应当多加利用。

Python的优缺点

Python的优点:

1.简单和明确,做一件事只有一种方法。

2.学习曲线低,跟其他很多语言相比,Python更容易上手。

3.开放源代码,拥有强大的社区和生态圈。

4.解释型语言,天生具有平台可移植性。

5.对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。

6.可扩展性和可嵌入性,例如在Python中可以调用C/C++代码。

扫描二维码关注公众号,回复: 11150079 查看本文章

7.代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在以下几点。

1.执行效率稍低,因此计算密集型任务可以由C/C++编写。

2.代码无法加密,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被弱化。

3.在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

4. 国内市场较小(国内以 Python 来做主要开发的,目前只有一些 web2.0 公司)。但时间推移,目前很多国内软件公司,尤其是游戏公司,也开始规模使用他。

5. 中文资料匮乏(好的 Python 中文资料屈指可数,现在应该变多了)。托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。

6. 构架选择太多(没有像 C# 这样的官方 .net 构架,也没有像 ruby 由于历史较短,构架开发的相对集中。Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。

原创文章 54 获赞 252 访问量 20万+

猜你喜欢

转载自blog.csdn.net/weixin_40651515/article/details/105761043