python语言程序设计,python语言属于哪一种语言
Python语言天空中的飞熊
Python语言由raphaelzhang于2012年3月5日发表。
如果算上高中AppleII用的Basic,我用过的编程语言应该有十多种。
其中我在工作中使用过C,C,pascal(OP/Delphi),java,C#,basic(VB),Unix/Linux shell(awk),perl,python,PHP,javascript。我工作中所谓用过的,就是我用这些语言写程序赚过钱的。此外,我还做过haskell、F#、scala、Go、D、Object-C、Assembly、eiffel等。至于erlang、lisp、prolog、lua、ruby、dart等语言,我只见过演示程序,没自己写过。当然,html、css、xml/xslt、bat、jsp/asp、SQL之类的语言,我都不算编程语言。
个人最喜欢Python和C。d语言看起来不错,但是没有前途。围棋语言也相当不错。也许以后会用得更多,但首先1.0版本还没发布(计划2012年上半年发布),现在还不能在Windows上实现。等一下。
Python的优势在于表现力强,库丰富,功能强大。C语言的优势在于底层抽象不多也不少。它们都有简单的优点,与Perl的简单不同,Python代码易于阅读。如果几个月后你不得不重新理解Perl代码的语法,你会认为你在写天书。
在中国主要使用Python的网站中,最著名的是Douban.com。豆瓣的洪强宁,QCon BJ 2010的这张幻灯片,已经讲了很多关于Python的特性,讲得非常清楚,也讲得很好。关于学习Python的有趣网站,虽然赖永浩的这篇文章是08年的,但是也很不错。
看幻灯片也需要一点时间。这里有几个例子:
计算机编程语言
134567891011213 #注:python的list和C的一样,从0开始。
A=range(10) #a是这样一个列表,如[0,1,2,3,4,5,6,7,8,9]
B=a[3:] #b是从A的第四个元素开始(包括)的子列表,即[3,4,5,6,7,8,9]
C=a[:-3]#c是从A的第一个元素到倒数第三个元素(不包括)的子列表,即[0,1,2,3,4,5,6]
D=[_ * 2 for _ in A if _ % 3==0]# D]# D列表的元素是A中3的倍数的两倍,即[0,6,12,18]
E=reduce (lambda r,x: r if x 5 else r x,A,10) # E是小于5的A中所有元素之和加10,即25。
上面几行代码看起来直观而强大。第10行使用python的列表合成,第12行使用reduce和lambda。
对于我来说,Python主要用于工作中做各种页面抓取和分析,真的很舒服。有时候,我会用它来做日常生活中的事情,比如给刚上小学的儿子出题,让他从小就知道有个程序员爸爸的好处。这里有一个把单词组合成句子的问题:
计算机编程语言
12345 import randoms=u‘我打开柜子拿出杯子喝水’。split()random . shuffle for _ in s:print _
有时候给一些随机的加减法题增加他的根骨,或者用matplotlib给一些商务人士画一些图,等等。
这里介绍我常用的Python包,包括其他常用软件。最常用的可能是lxml.html图书馆,它在处理网页方面非常方便。简单地用5行代码处理它:
Python12345import导入URL lib 2导入lxml.html
html=URL lib 2 . urlopen( http://blog . Raphael Zhang . com )。read()DOM=lxml . html . from string(html . decode( utf-8 ))
当然Python也有很多缺点,前不久在国内的Python论坛上讨论过,就在这个帖子里。蟒蛇们充满了怨恨,比如:
字符串编码。对于中国人来说,字符串编码的问题一直是个头疼的问题,因为每个系统都有自己默认的编码,每个OS的终端,每个OS的文件系统,每个网站的网页,每个数据库的编码,每个代码文件的编码,每个数据文件和配置文件的编码.并发性和性能。CPython本身的性能也需要提高,Python的GIL也是众所周知的。伪多线程使得Python程序无法有效利用多核系统的优势提高性能。或许只能采用多进程模型,greenlet,gevent,stackless python等框架或者PyPy等非CPython实现来实现客户端发布。把Python程序发布给没有安装Python环境的用户是很麻烦的。py2exe虽然有,但是很大,可能会有疏漏。此外,GUI实现存在很多性能问题,接口规范不一致。骆驼命名,下杠命名,全小写命名,大写开头,小写开头,看起来标准库比较乱,有的错了,有的过时了……不过还是推荐大家多试试Python。虽然有以上缺点,但作为原型开发语言、运维脚本工具、Web后端语言,都是非常优秀的。
PS,python内置了非常简单的HTTP服务模块。如果要临时将文件转移给他人,可以在文件所在的目录下运行python -m SimpleHTTPServer,这样就在本地建立了一个端口为8000的HTTP服务,根目录就是这个目录,这样就可以使用wget/curl等软件快速下载文件。
PS再一次,我把python里的文字提取出来,做了一个下载小说的软件。我对自己感觉还行。源代码在这里。以下是文本提取测试程序的部分运行结果:
网易新闻抽取结果D版小说抽取结果栈溢出抽取结果猫扑抽取结果天涯抽取结果博客抽取结果论坛抽取结果这里是小说下载测试程序运行的结果:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。