Python是一种支持面向对象的解释性高级语言,Simple yet Powerful是人们对它的一致评价。它包含多种Programming Paradigm,包括Object-Oriented Programming,Procedure Programming等。Python类似于Javascript,可以写出很短小但是功能强大的小程序,而Python丰富的标准库(包括系统库, __builtin__,以及完全支持正则表达式的字符串操作)为实现这些实用功能提供了坚实的基础。Python类似于C++和Java,它是一个完全支持面向对象的语言(支持多继承),但是它的语法更灵活,支持Dynamic Typing,变量从来不用进行声明便可使用,通常情况下Python的代码密度是C++的5到10倍,是Java的5倍左右。Python采用严格的缩进方式来管理代码,提高了可读性,极大的降低了代码维护的代价。Python自身包含Gargage Collection和内存管理机制,用户无需费心这些细节问题。Python支持Interactive Programming。 Python的运行时效率很高,却足以支持复杂的高层数据结构。Python是一种理想的Glue Language,也就是说我们可以用它来完成一般脚本编程所能完成的任务。你甚至还能把Python的Interactive Shell作为一个计算器来用,而从来不用担心上溢和下溢导致系统崩溃(上溢一般不会发生,即便你计算2的100000次方都没有问题,下溢则会抛出异常)。可以说,Python是一个渗透了多种计算机语言特性的极佳的设计。在Python Shell里面键入import this,Shell将输出Python最核心的一些设计理念:
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设计者Guido van Rossum的深厚功力了。
http://learn.tsinghua.edu.cn:8080/2003214889/html/tech/lang_sc/python.htm
====================
对于许多程序员来说,Python的大名应该有所耳闻。而对于Python的评论大多褒贬不一。有的甚至说Python是以其慢速运行而闻名于世。在此我并不是要去评论别人的对于错,我只是站在一个比较客观的角度来谈谈Python这一计算机语言。
Python是一种解释性语言,而且属于OpenSource的项目。但是,你可以将其用于商业用途。并且可以将其放在商业的产品光盘中一同发售。当然,人们也可以从www.Python.org或者OpenSource的网站上免费获得其安装程序或者源代码。Python最初是在苹果计算机上被编译成功的,但现在他已经可以运行于世界上主流的操作平台之上了。他不只有Windows版本的。同时还有Linux,Unix等很多平台上都可以使用他,在RedHat9中,还将其作为开发必须的一项语言被安装。对于Python的代码类型,基本可分为3种,分别是字节代码,二进制代码,优化代码。他们的后缀名分别是.py .pyc .pyo 这些代码都可以直接运行。无需做任何的编译或者连接。而在使用这些类型的代码上,Python会更具不同的情况选择不同的类型。
1. Web开发
最火的Python
web框架Django,支持异步高并发的Tornado框架,短小精悍的flask,bottle,Django官方的标语把Django定义为the
framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)
2. 网络编程
支持高并发的Twisted网络框架,py3引入的asyncio使异步编程变的非常简单
3. 爬虫开发
爬虫领域,Python几乎是霸主地位,Scrapy/Request/BeautifuSoap/urllib等,想爬啥就爬啥
4. 云计算开发
目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算市场近几年的爆发
5. 人工智能
MASA和Google早期大量使用Python,为什么Python积累了丰富的科学运算库,当AI时代来临后,Python从众多编程语言中脱颖而出,各种人工智能算法都基于Python编写,由其PyTorch之后,Python作为AI时代头牌语言的位置基本确立!
6. 自动化运维
问问中国的每个运维人员,运维人员必须会的语言是什么?10个人详细会给你一个相同的答案,它的名字叫Python
7. 金融分析
金融公司使用的很多分析程序、高频交易软件就是用的Python,目前,Python是金融分析、量化交易领域里用的最多的语言
8. 科学运算
97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy,SciPy,Matplotlib,Enthought
librarys等众多程序库的开发,使得Python越来越适合做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛
9. 游戏开发
在网络游戏开发中Python也有很多应用。相比Lua or
C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与Lua相比,Python更适合作为一种Host语言,即程序的入口点是在Python那一端会比较好,然后用C/C++在非常必要的时候写一些扩展。Python非常适合编写1万行以上的项目,而且能够很好的把网游项目的规模控制在10万行代码以内。
10. 桌面软件
虽然大家很少使用桌面软件了,但是Python在图形界面开发上也很强大,你可以用tkinter/PyQT框架开发各种桌面软件!
像java一样的解释型语言
跨平台性好
bt的内核就是用它写的
[吐槽大会]Python才是世界上最好的语言