Python
学习笔记
No.1
Python
的相关介绍
什么是
Python?
Python
(发音
:[ 'paiθ(ə)n; (US) 'paiθ
ɔ
n ]
),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。
Python
具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。
目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。
Python
是如何诞生的?
Python 的创始人为 Guido van Rossum 。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。
Python 的创始人为 Guido van Rossum 。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。
之所以选中
Python
(大蟒蛇的意思)作为程序的名字,是因为他是一个
Monty Python
的飞行马戏团的爱好者。
ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来, ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。
ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来, ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。
但是
ABC
语言并没有成功,究其原因,
Guido
认为是非开放造成的。
Guido
决心在
Python
中避免这一错误(的确如此,
Python
与其它的语言如
C
、
C++
和
Java
结合的非常好)。
同时,他还想实现在
ABC
中闪现过但未曾实现的东西。
就这样, Python 在 Guido 手中诞生了。实际上,第一个实现是在 Mac 机上。
就这样, Python 在 Guido 手中诞生了。实际上,第一个实现是在 Mac 机上。
可以说,
Python
是从
ABC
发展起来,主要受到了
Modula-3
(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了
Unix shell
和
C
的习惯。
Python 在编程语言中的定位是什么?
虽然 Python 可能被粗略地分类为 " 脚本语言( scripting language ) ", 实际上一些大规模软件开发计划例如 Zope , Mnet 及 BitTorrent. Google 也广泛地使用它。
Python 在编程语言中的定位是什么?
虽然 Python 可能被粗略地分类为 " 脚本语言( scripting language ) ", 实际上一些大规模软件开发计划例如 Zope , Mnet 及 BitTorrent. Google 也广泛地使用它。
Python
的支持者较喜欢称它为一种高阶动态编程语言
,
原因是
"
脚本语言
"
泛指单用作简单编程任务如
shell scripts
,而
Python
不能与
JavaScript
等只能处理简单任务的编程语言相提并论。
Python 有哪些特色?
可扩充性可说是 Python 作为一种编程语言的特色。新的内置模块( module )可以用 C 或 C++ 写成。而我们也可为现成的模块加上 Python 的接口。 Python 可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。
Python 也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
Python 有哪些特色?
可扩充性可说是 Python 作为一种编程语言的特色。新的内置模块( module )可以用 C 或 C++ 写成。而我们也可为现成的模块加上 Python 的接口。 Python 可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。
Python 也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
Python
语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如
if
语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是
Python
的缩进规则。
一个和其他大多数语言(如
C
)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而
C
语言是用一对花括号
{}
来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从
C
这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。
不过不可否认的是,通过强制程序员们缩进(包括
if
,
for
和函数定义等所有需要使用模块的地方),
Python
确实使得程序更加清晰和美观。
另外 Python 在其他部分的设计上也坚持了清晰划一的风格,这使得 Python 称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。
Python 目前有哪些局限?
虽然 Python 是一个非常成功的语言,但是也有必要明白它目前的局限。
1. 运行效率低下
目前为止, Python 是所有主流脚本语言中速度比较慢的,这与其脚本引擎的设计思路有关。
如果你的应用对于速度有着较高的要求,就要考虑 Python 是否能满足需要。不过这一点可以通过使用 C 编写关键模块,然后由 Python 调用的方式加以部分解决。
2. 多线程支持欠佳
Python 支持多线程,但是其运行效率也不高。
3. 适应其独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的 Python 程序员,也可能陷入陷阱当中。最常见的情况是 tab 和空格的混用会导致错误,而这是用肉眼无法分别的。
Python 的发展前景如何?
Python 在编程领域的占有率一直处于稳步上升之中,根据最新的数据, Python 排名第七。前六名分别是 Java,C,VB,C++,PHP 和 Perl. 作为一个很年轻的语言, Python 的位置已经相当令人振奋了。
另外 Python 在其他部分的设计上也坚持了清晰划一的风格,这使得 Python 称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。
Python 目前有哪些局限?
虽然 Python 是一个非常成功的语言,但是也有必要明白它目前的局限。
1. 运行效率低下
目前为止, Python 是所有主流脚本语言中速度比较慢的,这与其脚本引擎的设计思路有关。
如果你的应用对于速度有着较高的要求,就要考虑 Python 是否能满足需要。不过这一点可以通过使用 C 编写关键模块,然后由 Python 调用的方式加以部分解决。
2. 多线程支持欠佳
Python 支持多线程,但是其运行效率也不高。
3. 适应其独特的语法
这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的 Python 程序员,也可能陷入陷阱当中。最常见的情况是 tab 和空格的混用会导致错误,而这是用肉眼无法分别的。
Python 的发展前景如何?
Python 在编程领域的占有率一直处于稳步上升之中,根据最新的数据, Python 排名第七。前六名分别是 Java,C,VB,C++,PHP 和 Perl. 作为一个很年轻的语言, Python 的位置已经相当令人振奋了。
随着微软将
Python
纳入
.Net
平台,相信
Python
的将来会更加强劲发展。
Python
很可能会成为
.Net
平台快速开发的主流语言。
著名的搜索引擎
Google
也大量使用
Python
。更加令人吃惊的是,在
Nokia
智能手机所采用的
Symbian
操作系统上,
Python
成为继
C++,Java
之后的第三个编程语言!可见
Python
的影响力之巨大。
Python
相关资料
Python
的几个著名社区:
1.http://www.python.org/ Python
的官方网站
2.http://python.cn/ Python
中文社区
4.http://bbs.chinaunix.net/forum-55-1.html ChinaUnix Python
版块
Python
的开发环境:
1.Linux:
几乎所有的
Linux
和
BSD
发行版中都默认安装了
Python
,且
vim
也默认支持
Python
的语法高亮与彩色编码,通过在
vim
中安装官方的
Python
相关插件可以获得更好的效果。
2.Windows:
推荐
Pythonwin
,它很小巧也很实用,尤其适合初学者。
Pythonwin
集成开发环境包含在由
ActiveState
出品的
ActivePython
中,
ActivePython
是一个二进制
build
。其中包括用于
XML
处理的
expat
模块,以及一系列
windows
工具。
提供的特性有:彩色编码、源代码折叠、单词完成及自动缩进。调试器支持事后诊断功能、标准的单步调试、断点设计及变量监视。
Python
的相关书籍:
《简明
Python
教程》《
Python
学习笔记》《
Python
入门》《
Python
编码规范》《
Dive.Into.Python
中文版》