开始python之旅
接触python缘于工作所需,曾经接触过C、C++等语言,对于编程语言在学习上大体是一个套路,当然套路因人而异,适合就好。接下来,我将不断分享python的知识和学习技巧,共同学习。
起源
初识一门语言善于先了解语言的起源,毕竟饮水思源,赋予语言生命力也会让自己的代码生机盎然,那么话不多说,开始吧。
很久很久以前(1989年底,和我有缘的一年),一个叫Guido van Rossum的人在荷兰CWI(某个研究院)始创了Python,这缘于一个研究项目,van Rossum作为一名对解释语言ABC有着丰富设计经验的研究员,试图创造一种通用的程序设计语言用于完成日常系统管理任务并且能够访问Amoeba分布式操作系统的系统调用。我想在这个试图创造的过程中一定存在某些可以完成任务的工具,但能够播下python的种子,必然也是善于改变和思考以及富有创造性的人才能够做到的。
特点
到目前python已经有20多年的历史了,能够经受住历史的考验取决于python自身的优点,下面介绍一些主要特点:
高级:
与C++,Java一样python是高级语言,此外,Python是解释型语言。
内建数据结构(如:列表、字典),缩短代码量和开发时间,而且代码更易读,简洁。这一点对于程序员来说是福音,假设一个场景:某程序员小五写了一段代码,很久之后需要对这段代码增加一些内容,但时间久忘了当时的逻辑怎么办?对,注释,但写注释的勤快人并不多,这时只能再一次分析代码,如果是C 的话,那可就更头大了。这种情景下使用简洁易读的语言优势显而易见。不过,一名优秀的程序员,首先是应该写好注释。
面向对象:
Python具有面向对象特性,但不仅仅是面向对象,个人感觉某些场景下函数式编程更有优势。
可升级:
可升级其实是指模块化扩展。
可扩展:
用其他语言扩展
内存管理器:
Python中,内存的管理是由解释器负责的,在这一点上比C,C++要优越,因为开发人员不用考虑什么时候需要回收释放资源,不用处理内存泄露等问题。但是,从开发者的角度而言,内存的管理十分重要,即便不用负责管理,也应该了解原理性的知识,以便进行像代码优化这类的处理。
解释性和(字节)编译性:
前面也提到了python是解释型的语言,但与纯粹的解释型语言不同,python实际上是字节编译(不是以本地机器码编译),因此,常看到*.pyc编译文件也就不足为奇了。