fzply521的专栏

“Python”, 在所有计算机图书中,见到这个名词感觉非常亲切,我对英语有浓重的兴趣,并对计算机想有更深入的了解,我决定学习以下Python这门大神之作的语言。

在开始我自己的对Python的理解,加之相应的计算机基础知识,我想带领大家慢慢的去体会一门语言,了解它背后的故事,或者联想到其它的哲学内涵等等。我也希望大家能给我一些建议。其它的我们不在多说,进入正题。我给推荐的两本书,一本是“Learning Python” ,另一本是“Programming Python”,这两本书都是英文版的,我个人喜欢看英文版的,总感觉翻译过来的差了些问道和理解错误的地方。如果选择中文也没有关系,作为基础学习也是够用的,如果想深入钻研,那就不是一本书能够帮助你的,而是自己去实践,找资料,体会它。

说到这里,大家会问Python到底是用来做什么的,我们的编程语言像Java,C/C++,.Net等,或者是否跟Shell,Perl这样的脚本语言一样呢?其实没一种语言都是相同的,都是发展中的产物,我们不要拘泥于它的语法或者变成工具,而是去想为什么会有这门语言,为什么会一直存活下来,为什么在这个年代这么重要!这才是学习的最终目的。这里我不想去说它用于哪个领域,而是通过大家学习慢慢的对它进一步了解,才能发现它的强大之处。

不同语言都会有一个发展的过程,这个过程被转化成版本号,理解起来就是高的版本号就会相对前一个版本安全,功能增加。那么首先选择一个版本来学习,在Python中,很有意思的是有两个比较重要的分割点,这个分割点是由于用户量造成的。版本的选择是由你的公司或者自己的偏好选择的,但是你是初学者,你会一直在版本之间迷惑。在这里,给你一些理由来选择版本。以下是一些建议:

(1)选择3.X: 新特性,变革意义的版本

如果你是第一次使用Python,就不需要使用2.X代码。我鼓励你使用3.X版本的Python。正如你们所理解的,它去除了所有的长期存在的缺点并裁剪了一些过时的功能,

同时它保留了原有经典的核心思想和新的工具。比如无缝的Unicode模型,更广的生成器,功能技术,和流行的库和工具。

(2)选择2.X:稳定

由于2.X被广泛的使用,稳定,不在会进行改变。

那么我们什么时候选择中立的版本,好消息是Python在这两版本中的基本点是一样的,很少有人会发现他们点点的不同之处。当完全学完之后,你会知道怎么去写一个中立的版本。在接下来讲解章节中,我会分开细节来体会Python语言的魅力。主要包括:

第一部分:基本了解一些Python的相关问题,比如为什么使用它,它的用处等。主要介绍Python的地层技术思想的背景知识,运行Python语言的几种方式,可以让你运行一些例子。

第二部分:开始学习Python语言,学习主要的内置对象类型,深入使用numbers, lists, dictionaries等。还可以使用一些工具来完成,他们是每一个Python脚本的心脏。这部分是基础部分,因为它为后面几张做下了铺垫。我们也会探索动态类型(dynamic typing)和参考(references), 这是学好Phthon的关键。

第三部分:介绍Python的语句,基本的语法,同时介绍一些工具(Pydoc system), 初步理解迭代概念(iteration concepts)。

第四部分:我们会看一些更高级别的程序结构工具。函数(Functions)是简单的重用和避免代码冗余的方式。同时我们还要研究范围规则(scoping rules), 参数传递技术(argument-passing techniques), 臭名昭著的^ (Lambda)。从函数编程角度理解迭代器(iterators), 介绍用户定义的生成器(generators), 并学习管理Python 代码的运行时间。

第五部分:Phthon的模块(modules),它把语句和函数组织成一个大的组件,同时学习怎么创建,使用,并重新加载模块,相关包的导入,3.3版本中新的命名空间包和——__name__变量。

第六部分:我们讨论Phthon的面向对象变成工具,类(class)(可选项,但是是个性化和重用的代码结构的有效方式)。正如你所看到的,,类大部分重用我们学过思想。在Python中的OOP在连接对象中查找名字,这个连接对象带有在函数中的一个特殊的第一个参数。它是可选的,但是Python的OOP是比其它的简单,它在大型开发中可以节省开发时间。

第七部分:Python的异常处理模型和语句,加之用于写大程序的开发工具(调试(debugging)和测试工具(testing tools))。尽管异常是轻量级的工具,它之所以在类的概念之后讲是因为用户定义的异常也应该是类。同时还有高级的内容,上下文管理(context managers).

第八部分:一些高级特性,Unicode 和byte strings, 管理属性工具,比如属性和描述符,函数和类装饰器,元类(metaclasses)。这部分的内容是选读的,因为不是所有程序员需要了解这些知识。另外,处理国际文本或二进制数据,开发API的人可以了解。这部分也是最大的一部分,自选学习。

第九部分:一些有关在不同平台安装Python的建议;运行Python3.3的窗口;版本之间的变化和一些练习。

坦然接受生活给你的馈赠吧,不管是好的还是坏的。

fzply521的专栏

相关文章:

你感兴趣的文章:

标签云: