这个栏目的名称叫做“零基础学Python”。现在网上已经有不少学习python的课程,其中也不乏精品。按理说,不缺少我这个基础类型的课程了。但是,我注意到一个问题,不管是课程还是出版的书,大多数是面向已经有一定编程经验的人写的或者讲的,也就是对这些朋友来讲,python已经不是他们的第一门高级编程语言。据我所知,目前国内很多大学都是将C之类的做为学生的第一门语言。然而,在我看来,python是非常适合做为学习高级语言编程的第一门语言的。有一本书,名字叫《与孩子一起学编程》,这本书的定位,是将python定位为学习者学习的第一门高级编程语言。然而,由于读者对象是孩子,很多“成年人”不屑一顾,当然,里面的讲法与“实战”有点距离,导致以“找工作”、“工作需要”为目标的学习者,认为这本书跟自己要学的方向相差甚远。为了弥补那本书的缺憾,我在这里推出面向成年人——大学生、或者其他想学习程序但是没有任何编程基础的朋友——学习第一门编程高级语言的教程。将Python做为学习高级语言编程的第一门语言,其优势在于:入门容易,避免了其它语言的繁琐。更接近我们的自然语言和平常的思维方法。学习完这门语言之后,能够直接“实战”——用在工作上。学习完这门语言之后,能够顺利理解并学习其它语言。 python本身功能强大,一门语言也可以打天下,省却了以后的学习成本。下面的图示统计显示:Python现在成为美国名校中最流行的编程入门语言。
很多高级语言都宣称自己是简单的、入门容易的,并且具有普适性的。真正做到这些的,不忽悠的,只有Python。有朋友做了一件衬衫,上面写着“生命有限,我用Python”,这说明什么?它有着简单、开发速度快,节省时间和精力的特点。因为它是开放的,有很多可爱的开发者(为开放社区做贡献的开发者,是最可爱的人),将常用的功能做好了,放在网上,谁都可以拿过来使用。这就是Python,这就是开放。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符,因此Python也支持泛型设计。相对于Lisp这种传统的函数式编程语言,Python 对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了 Haskell和Standard ML中久经考验的函数式程序设计工具。虽然Python可能被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发项目例如Zope、Mnet及BitTorrent,Google也广泛地使用它。Python的支持者较喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅作简单程序设计任务的语言,如shell script、VBScript等只能处理简单任务的编程语言,并不能与 Python相提并论。 Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python 提供了丰富的API和工具,以便程序员能够轻松地使用C、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用 C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004 年,Python已在Google内部使用,Google召募许多Python高手,但在这之前就已决定使用Python。他们的目的是尽量使用Python,在不得已时改用C++;在操控硬件的场合使用C++,在快速开发时候使用Python。” 可能里面有一些术语还不是很理解,没关系,只要明白:Python是一种很牛的语言,应用简单,功能强大,google都在使用。这就足够了,足够让你下决心学习了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !