Python入门
一 Python初识
1 Python的历史
Python的历史python是蟒蛇的含义
python是一种解释型的,面向对象的,带有动态语义的高级程序设计语言.
python是一种使你在编程时能够保持自己的风格的程序设计语言,你不用费什么劲就可以实现你想要的功能,并且编写的程序清晰易懂.
python简史
诞生于1989年,python开发者guido,当时还在开发另外一种语言abc语言,abc语言主要是用于做数学运算和做物理运算的研究人员使用.
在1989年的圣诞节,他在阿姆斯特丹.在他闲着没事的时候他想开发一个插件来辅助abc语言实现相关功能,但是实际上他开发出的是一种脚本语言,
当他把这个脚本语言开发完成之后,发现它本身功能很强大,在他看来有很灵活易用,于是他已自己的名义发布了这门语言.现在就职于google.
python名字的由来:guido本人是天空马戏团(monty python)的忠实粉丝,于是他选择这给他开发的这种语言叫python.
2 Python的发展
第一阶段:CNRI时期 ,CNRI(罗伯特.卡恩1986年创立的美国全国研究创新联合会)是资助python发展初期的重要单位,
python1.5版本之前的成果大部分都在此时期完成
第二阶段:BeOpen时期,Guido Ven Rossum与BeOpen公司合作,此期间将Python2.0推出,甚至python1.6也同时问世,但原则上已经分别维护.
(至于推出2.0同时还推出1.6,这是因为python版本的问题,它是一门新兴的语言, 在89年的时候刚刚诞Th,
有很多功能在初期还不是很完善,但是后期完善的时候发现当前完善的体系已经完全不同于之前的设计,
所以python就会推出一个新的版本,当时就推出了2.0,实际上2.0和1.6是有很大区别的,使用上也不完全一样)
第三阶段:DC时期,当时Guido已经离开了BeOpen公司,将开发团队带到了Digital Creations(DC)公司,
该公司以发展Zope系统闻名,因此这项合作也颇受瞩目.
python 3.0 还没有被投放到市场,预计web3.0时代,建议使用python2.0
python目前成就
python获得年度Tiobe编程语言大奖
Tiobe编程语言排行榜:根据互连网上有经验的程序员,课程和第三方厂商的数量,并使用搜索引擎(如google,yahoo)以及
Amazon,youtube等统计出的排名数据,只反映某种语言的热门程度,并不说明语言的好不好,或者一门语言所编写的数量多少.
3 python的特征
python编程语言中的定位脚本语言
高阶动态编程语言
简单易学
python是一种代表简单主义思想的语言,python的这种伪代码本质是它最大的优点之一.
它使你能够专注于解决问题而不是去搞明白语言本身.python有极其简单的语法,极易上手.
解释性和编译性
python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序,
但是需要解释器,这点类似于java,或者matlab.
python中亦有编译执行的特性
可移植性
由于它的开源本质,python已经被移植到许多平台上.
丰富的库
丰富的库,似乎已成为判断一门是否强大的重要标准.python的标准库确实很庞大.
它可以帮助你处理各种工作,包括正则表达式,文档Th成,单元测试, 线程,数据库,网页浏览器,
CGI,FTP,电子邮件,XML,XML-RPC,HTML,WAV文件,密码系统,GUI(图形用户界面),TK和其他与系统有关的操作.
只要安装了python.所有这些功能都是可用的,这被称作python的"功能齐全"理念.
除了标准库以外,还有其他高质量的库,(似乎可以称作第三方),如wxpython twisted和python图形库等等.
python的特征
易用与速度的完美结合
把精力放在解决问题上
跨平台又易扩展
自动化的内存管理
内建许多高阶而实用的资料形态
轻易结合网络程序模块
万能钥匙?(胶水作用!可以轻易融合其他语言)
3 python的应用
google实现web爬虫和搜索引擎中的很多组件yahoo使用它(还有其他技术)管理讨论组
NASA 在他的几个系统中既用python开发,又将其作为脚本语言
youtube 视频分享服务大部分是python编写的
python语言的缺点
很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。
而perl和awk就无此限制,可以较为方便的在shell下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。
(对很多用户而言这也不算是限制)
⑴运行速度,有速度要求的话,用C++改写关键部分吧。
不过对于用户而言,机器上运行速度是可以忽略的。因为用户根本感觉不出来这种速度的差异。
⑵既是优点也是缺点,python的开源性是的Python语言不能加密, 但是目前国内市场纯粹靠编写软件卖给客户的越来越少,
网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。
⑶ 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。
Ruby on Rails 构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。