您的位置:首页 > 编程语言 > Python开发

Python 学习笔记之一——Python简介

2016-08-01 16:15 281 查看


Python的来历

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python 的喜剧团体的爱好者。


Python的特征

Python 是一门简单易学又功能强大的编程语言。它具有高效的高级数据结构和简单而有效的面向对象编程的特性。Python优雅的语法和动态类型、以及其解释性的性质,使它在许多领域和大多数平台成为脚本编写和快速应用程序开发的理想语言。
Python 具有以下特征
1. 简单易学
Python是一种代表简单主义思想的语言,它有极简单的语法,极易上手。
2.集解释性与编译性于一体
Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,但是需要解释器,它也具有编译执行的特性。
 3.面向对象编程
Python 即支持面向过程的编程也支持面向对象的编程。与其他主要的语言如C++ 和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
4.可扩展性和可嵌入性
可以把部分程序用C或C++编写,然后在Python程序中使用它们,也可以把Python嵌入到C/C++ 程序中,提供脚本功能。
5.程序的可移植性
绝大多数的的Python程序不做任何改变即可在主流计算机平台上运行。
6.免费、开源
可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。


Python的应用

Python 的应用角色几乎是无限的,可以在任何场合使用Python,从网站和游戏开发到机器人和航天飞机控制都有Python的身影,可以分为以下几类
a. 系统编程
b.用户图形接口
c.Internet 脚本
d.组件集成
e.数据库编程
f.快速原型
g.数值计算和科学计算编程
h.游戏、图像、人工智能、XML、机器人等

Python的应用案例:
1.YouTube视频分享服务大部分是由Python编写的
2.EVE Online 这款大型多人网络游戏广泛地使用Python
3.Intel、 Cisco、IBM 使用Python进行硬件测试
4.经济市场预测方面UBS、Getco等使用Python
5.NASA、 JPL等使用Python实现可续计算任务
6.iBobot 使用Python开发商业机器人真空吸尘器
7.ESRI 在其流行的GIS地图产品中使用Python作为终端用户定制工具
8.NSA在加密和智能分析中使用Python
等等等


Python的缺点

    Python的唯一缺点是与C和C++相比执行的效率还不够快,因为Python没有将代码编译成底层的二进制代码,一些Python程序比像C语言这样的完全编译语言慢一些。
    但上面提到的Python具有嵌入性的特征,对于大型程序,完全可以采用多语言混编策略,对于需要较快运行的模块,例如图像处理,则可以用C语言编程,对性能要求不是很高的地方则可以用Python编程,当需要他图像处理的时候Python程序把代码发送至Python解释器中内部已经编译的C代码,这样综合开发效率和性能综合起来是最高的。例如作为一个Python的数值计算扩展,NumPy将Python变为一个高效并简单的易用的数值计算编程工具。


Python的设计哲学

在Python 的命令行窗口输入import this,Python的设计哲学映入眼前

     The Zen of Python, by Tim  Peters
     Python 的设计哲学,作者:Tim Peters
     Beautiful  is better than ugly.
     优美胜于丑陋。(在实现功能的基础上,代码的优美在于简洁明了、命名规范,有些时候在于算法的巧妙)

     Explicit is better than implicit.
     明了胜于晦涩。

     Simple is better than complex.
     简洁胜于复杂。 (优美的代码应该是简洁的,尽量不要有复杂的内部实现,即使系统复杂,每个小模块也要简洁、明了)

     Complex is better than complicated.
     复杂胜于繁琐。https://www.zhihu.com/question/19644376   (这个英语解释太经典了)
     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.
     除非你是Python之父,要不然刚开始那种方法并不是显而易见的。

     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 ieda.
     如果一个实现很容易解释清楚,那么它也许是一个好的想法。
     Namespaces are one honking great idea --let's do more of those!
     命名空间是一个绝妙的想法,我们应该多加利用。


小结

 Python 是一种非常优秀的程序设计语言,
与Perl相比它语法更简洁、设计更简单,更具有可读性和易于维护性;
与Java相比,它更简单、更易于使用,因为Java从C++ 这种系统语言中继承了许多语法和复杂性;
与C++ 相比,虽然性能上会稍微差一点,但它的开发效率高,Python代码的大小往往是C++或Java代码的 1/5~1/3;
比Visual Basic更强大也更具备跨平台性;
比 PHP更易懂并且用途更广;
比Ruby更成熟、语法更具可读性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python