Python为何如此备受青睐?
- 内容介绍
- 相关推荐
本文共计1807个文字,预计阅读时间需要8分钟。
Python的编程理念+如今有数百种编程语言可供使用,从传统的C和C++到Ruby、C#
用Python的理由
现在有数百种编程语言可供使用,从成熟的C和C++到Ruby、C#和Lua等新秀,再到Java这样的企业级重器。要选择一门编程语言来学习确实很难。虽然没有一种语言能适合任何场景,但我觉得,对于大量的编程问题来说,Python都算得上是个好选择。如果正在学习编程,Python也是一个不错的选择。目前全球有数十万名程序员都在使用Python,并且用户数每年都在增长。
Python能够持续吸引新用户,是有很多理由的。Python是一款真正的跨平台编程语言,从Windows、Linux/UNIX到Macintosh平台,从超级计算机到手机,它都能很好地运行。Python可以用于开发小型应用程序和快速原型系统,但也能扩展到足以开发大型程序。Python自带了功能强大且易于使用的图形用户界面(GUI)工具包、Web编程库等。而且更重要的是,Python完全免费。
1.2 Python的长处
Python是Guido van Rossum在20世纪90年代研发的一种现代编程语言(以一个著名的喜剧团体命名)。尽管Python并不能完美地适用于所有应用程序的开发,但它的优势使其成为许多情况下的理想选择。
1.2.1 Python易于使用
熟悉传统语言的程序员会发现,Python很容易学习。包含了所有熟悉的结构,如循环、条件语句、数组等,但在Python中很多都更易于使用。原因有以下几点。
- 类型与对象关联,而不是变量。变量可以被赋予任何类型的值,列表也可以包含许多类型的对象。这也意味着通常不需要进行强制类型转换(type casting),代码再也不用受制于预先声明的类型了。
- Python通常可以执行更高级别的抽象操作。有一部分原因是源于Python语言的构建方式,另一部分原因是Python的发行版附带了内容丰富的标准代码库。一个下载网页的程序用两三行代码就可以写完了!
- 语法规则非常简单。虽然成为一名专业的Python高手需要耗费很多时间和精力,但即便是初学者也能快速获取到足够的Python语法并编写出实用的代码。
Python非常适合应用程序的快速开发。用Python编写应用程序的时间可能只有用C或Java的五分之一,并且代码行数只有等效C程序的五分之一,这种情况并不少见。当然,这要视具体的应用场景而定。对于那种大部分是在for循环中执行整数运算的数值算法,Python提升的生产力会少得多。对于普通的应用来说,生产力收益可能会比较可观。
1.2.2 Python富有表现力
Python是一种极具表现力的编程语言。这里的“表现力”是指:同样是一行代码,Python可以完成的操作比其他大多数语言都要多。表现力较强的语言,优势十分明显,需要编写的代码越少,项目完成的速度就越快。代码越少,程序就越容易维护和调试。
为了体会一下Python的表现力是如何简化代码的,请考虑交换两个变量var1和var2的值。在类似Java的语言中,这需要3行代码和1个额外的变量:
int temp = var1;var1 = var2;
var2 = temp;
在将var2的值赋给var1时,需要先用变量temp暂存var1的值,然后再把该暂存值赋给var2。这个过程并不是很复杂,但是阅读这3行代码并理解这是为了完成数值交换,是要花些工夫的,即便是有经验的程序员也一样。
相比之下,Python允许在一行代码中完成相同的交换操作,并且从交换方式就能明显看出交换确实发生了:
var2, var1 = var1, var2当然这只是一个很简单的例子,但类似的优点在Python中俯仰皆是。
1.2.3 Python可读性好
Python的另一个优点是可读性好。也许读者会认为,编程语言只要能被计算机读懂就可以了,但其实人类同样得能读懂。要阅读代码的人,可能是调试人员(很可能就是写程序的人),可能是维护人员(仍然可能是写程序的人),也可能是任何将来修改代码的人。凡此种种,总之代码越容易阅读和理解越好。
代码越容易理解,就越易于调试、维护和修改。Python在这方面的主要优势就是利用缩进。与大多数语言不同,Python坚持要求代码块必须整体缩进。尽管这会让有些人感到奇怪,但好处就是代码总是能以一种非常易懂的风格进行格式化。
以下是两小段程序,一个用Perl编写,另一个用Python编写。两者的操作相同,参数都是两个相同大小的数值列表,返回对其两两求和后的列表。我认为Python代码的可读性比Perl代码更好,看起来更干净,难以理解的符号更少:
# Perl版sub pairwise_sum {
my($arg1, $arg2) = @_;
my @result;
for(0..$#$arg1) {
push(@result, $arg1->[$_] + $arg2->[$_]);
}
return(\@result);
}
# Python版
def pairwise_sum(list1, list2):
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
return result
上面两段代码完成的工作相同,但Python代码胜在了可读性上。当然,Perl还能有其他的实现方式,其中有一些确实会比以上代码简洁得多,但我认为也更加晦涩难懂。
1.2.4 Python功能齐备
Python的另一个优势是“功能齐备”(batteries included)理念,因其自带了很多函数库。基本思路就是,安装Python后就应该万事俱备,不需要再安装其他库就能真正开始工作了。这就是为什么Python的标准库自带了电子邮件、网页、数据库、操作系统调用、GUI开发等处理模块。
例如,只需要写两行代码,就可以用Python编写一个Web服务器,用于共享某个目录中的文件。
import py3readiness.org),360个最流行的库中已有359个被移植到Python 3中了。如果确实需要使用未被转换过的库,或者要使用基于Python 2建立的代码,那就继续使用Python 2.x吧。但如果是刚开始学习Python或新建项目,就使用Python 3吧。Python 3不仅更好用,而且是大势所趋。1.5 小结
- Python是一种现代的高级语言,支持动态类型,带有简洁一致的语法和语义。
- Python跨平台且高度模块化,即适用于快速开发,也适用于大规模编程。
- Python运行速度合理,还可以通过轻松扩展C或C++模块进一步提升速度。
- Python内置了很多高级特性,如对象持久化存储、高级散列表、可扩展类的语法和通用比较函数。
- Python的库包罗万象,如数值计算、图像处理、用户界面和Web脚本处理。
- 有异常活跃的Python社区提供有力的支持。
《Python 快速入门 第3版》([美]娜奥米·塞德(Naomi,Ceder))- 京东图书item.jd.com
- Python软件基金会主席作品!
- 经典Python入门书
本书是Python专业人士Naomi Ceder编写的Python语言的综合指南。她是一位经验丰富的教学者,她既能让读者关注语言的细节,又能使其具备解决实际问题的能力。本书中配有大量贴切的示例和边做边学的习题,有助于读者掌握每一个重要概念。无论读者是要抓取网站内容还是想玩转嵌套元组,都会赞叹本书的清晰、专注和对细节的重视。
本书主要内容
● 明确涵盖Python 3。
● 全面介绍核心库、包和工具。
● 配备精深的习题。
● 新增5章与数据科学相关的内容。
本文共计1807个文字,预计阅读时间需要8分钟。
Python的编程理念+如今有数百种编程语言可供使用,从传统的C和C++到Ruby、C#
用Python的理由
现在有数百种编程语言可供使用,从成熟的C和C++到Ruby、C#和Lua等新秀,再到Java这样的企业级重器。要选择一门编程语言来学习确实很难。虽然没有一种语言能适合任何场景,但我觉得,对于大量的编程问题来说,Python都算得上是个好选择。如果正在学习编程,Python也是一个不错的选择。目前全球有数十万名程序员都在使用Python,并且用户数每年都在增长。
Python能够持续吸引新用户,是有很多理由的。Python是一款真正的跨平台编程语言,从Windows、Linux/UNIX到Macintosh平台,从超级计算机到手机,它都能很好地运行。Python可以用于开发小型应用程序和快速原型系统,但也能扩展到足以开发大型程序。Python自带了功能强大且易于使用的图形用户界面(GUI)工具包、Web编程库等。而且更重要的是,Python完全免费。
1.2 Python的长处
Python是Guido van Rossum在20世纪90年代研发的一种现代编程语言(以一个著名的喜剧团体命名)。尽管Python并不能完美地适用于所有应用程序的开发,但它的优势使其成为许多情况下的理想选择。
1.2.1 Python易于使用
熟悉传统语言的程序员会发现,Python很容易学习。包含了所有熟悉的结构,如循环、条件语句、数组等,但在Python中很多都更易于使用。原因有以下几点。
- 类型与对象关联,而不是变量。变量可以被赋予任何类型的值,列表也可以包含许多类型的对象。这也意味着通常不需要进行强制类型转换(type casting),代码再也不用受制于预先声明的类型了。
- Python通常可以执行更高级别的抽象操作。有一部分原因是源于Python语言的构建方式,另一部分原因是Python的发行版附带了内容丰富的标准代码库。一个下载网页的程序用两三行代码就可以写完了!
- 语法规则非常简单。虽然成为一名专业的Python高手需要耗费很多时间和精力,但即便是初学者也能快速获取到足够的Python语法并编写出实用的代码。
Python非常适合应用程序的快速开发。用Python编写应用程序的时间可能只有用C或Java的五分之一,并且代码行数只有等效C程序的五分之一,这种情况并不少见。当然,这要视具体的应用场景而定。对于那种大部分是在for循环中执行整数运算的数值算法,Python提升的生产力会少得多。对于普通的应用来说,生产力收益可能会比较可观。
1.2.2 Python富有表现力
Python是一种极具表现力的编程语言。这里的“表现力”是指:同样是一行代码,Python可以完成的操作比其他大多数语言都要多。表现力较强的语言,优势十分明显,需要编写的代码越少,项目完成的速度就越快。代码越少,程序就越容易维护和调试。
为了体会一下Python的表现力是如何简化代码的,请考虑交换两个变量var1和var2的值。在类似Java的语言中,这需要3行代码和1个额外的变量:
int temp = var1;var1 = var2;
var2 = temp;
在将var2的值赋给var1时,需要先用变量temp暂存var1的值,然后再把该暂存值赋给var2。这个过程并不是很复杂,但是阅读这3行代码并理解这是为了完成数值交换,是要花些工夫的,即便是有经验的程序员也一样。
相比之下,Python允许在一行代码中完成相同的交换操作,并且从交换方式就能明显看出交换确实发生了:
var2, var1 = var1, var2当然这只是一个很简单的例子,但类似的优点在Python中俯仰皆是。
1.2.3 Python可读性好
Python的另一个优点是可读性好。也许读者会认为,编程语言只要能被计算机读懂就可以了,但其实人类同样得能读懂。要阅读代码的人,可能是调试人员(很可能就是写程序的人),可能是维护人员(仍然可能是写程序的人),也可能是任何将来修改代码的人。凡此种种,总之代码越容易阅读和理解越好。
代码越容易理解,就越易于调试、维护和修改。Python在这方面的主要优势就是利用缩进。与大多数语言不同,Python坚持要求代码块必须整体缩进。尽管这会让有些人感到奇怪,但好处就是代码总是能以一种非常易懂的风格进行格式化。
以下是两小段程序,一个用Perl编写,另一个用Python编写。两者的操作相同,参数都是两个相同大小的数值列表,返回对其两两求和后的列表。我认为Python代码的可读性比Perl代码更好,看起来更干净,难以理解的符号更少:
# Perl版sub pairwise_sum {
my($arg1, $arg2) = @_;
my @result;
for(0..$#$arg1) {
push(@result, $arg1->[$_] + $arg2->[$_]);
}
return(\@result);
}
# Python版
def pairwise_sum(list1, list2):
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
return result
上面两段代码完成的工作相同,但Python代码胜在了可读性上。当然,Perl还能有其他的实现方式,其中有一些确实会比以上代码简洁得多,但我认为也更加晦涩难懂。
1.2.4 Python功能齐备
Python的另一个优势是“功能齐备”(batteries included)理念,因其自带了很多函数库。基本思路就是,安装Python后就应该万事俱备,不需要再安装其他库就能真正开始工作了。这就是为什么Python的标准库自带了电子邮件、网页、数据库、操作系统调用、GUI开发等处理模块。
例如,只需要写两行代码,就可以用Python编写一个Web服务器,用于共享某个目录中的文件。
import py3readiness.org),360个最流行的库中已有359个被移植到Python 3中了。如果确实需要使用未被转换过的库,或者要使用基于Python 2建立的代码,那就继续使用Python 2.x吧。但如果是刚开始学习Python或新建项目,就使用Python 3吧。Python 3不仅更好用,而且是大势所趋。1.5 小结
- Python是一种现代的高级语言,支持动态类型,带有简洁一致的语法和语义。
- Python跨平台且高度模块化,即适用于快速开发,也适用于大规模编程。
- Python运行速度合理,还可以通过轻松扩展C或C++模块进一步提升速度。
- Python内置了很多高级特性,如对象持久化存储、高级散列表、可扩展类的语法和通用比较函数。
- Python的库包罗万象,如数值计算、图像处理、用户界面和Web脚本处理。
- 有异常活跃的Python社区提供有力的支持。
《Python 快速入门 第3版》([美]娜奥米·塞德(Naomi,Ceder))- 京东图书item.jd.com
- Python软件基金会主席作品!
- 经典Python入门书
本书是Python专业人士Naomi Ceder编写的Python语言的综合指南。她是一位经验丰富的教学者,她既能让读者关注语言的细节,又能使其具备解决实际问题的能力。本书中配有大量贴切的示例和边做边学的习题,有助于读者掌握每一个重要概念。无论读者是要抓取网站内容还是想玩转嵌套元组,都会赞叹本书的清晰、专注和对细节的重视。
本书主要内容
● 明确涵盖Python 3。
● 全面介绍核心库、包和工具。
● 配备精深的习题。
● 新增5章与数据科学相关的内容。

