设为首页 收藏本站
查看: 1138|回复: 0

[经验分享] 大家都来用Python吧

[复制链接]

尚未签到

发表于 2015-4-23 10:00:40 | 显示全部楼层 |阅读模式
  我想说的是python是这个星球最美的编程语言。据说有些schema语言用起来很cool,在我学会它们之前我保留我的看法。 Python能作什么呢?www.python.org能够找到答案,其实基本上你可以问python不能作什么。我还是先告诉大家我用python作什么
1.计算器
python的shell是个很好的命令行计算器,支持各种复杂的计算式,用了它之后,我的心算能力急剧下降。
2.处理各种文本
从网上down一些文章,需要删掉里面的空白行;没有规则的大段数字,需要求和; 不同格式的头文件转换等等;这个用perl处理更好,3年前我也是这样作的,当我遇到python之后,我就彻底放弃了perl了。perl很不错,基本上同样的功能,用python写代码会长一些,网络社区提供的各种perl的功能包也多一些,但是Larry Wall 是一个诗人,诗人的气质让perl的语法,在我们这些程序员眼里看起来很零乱。基本上2个星期不用,要拿perl干活,就得找本语法书重新看看。在linux下面还好,可以man一把,要是在windows上装一个ActivePerl,想查帮助还得打开Perl Core Documentation这个html文件,一行一行的找,虽然脚本语言的帮助系统都不能.Net,Java等商业开发工具的帮助相提并论,但是python好歹也有一个chm文件,可以index的。Perl是给真正的hacker用的, 简洁,明快却是python的优点。要是作为一个专业的网管,选择perl没错的,至于普通程序员的小玩具,python更好使。
3.做各种原型系统,快速开发。
    界面,网络,文本处理,图像处理,科学计算。桌面程序,可以用wxpython库,速度并不慢。python有很强的网络编程能力,它的module都是c/c++写的,只要c/c++能够做什么,python就能做什么.写一个server,用python来写测试的客户端,4,5行代码就够了

  

DSC0000.gif import socket, sys
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
try:
    s.connect((host, port))
        s.send( DSC0001.gif .)
except IOError:
    pass:   
  
图像处理,除了python自带的PIL包,还可以用ImageMagic,这样Gimp能够做什么,python也能做什么,写10来行程序,可以处理一大批图片,这样的快感不多了。3年前,我帮一JJ写程序处理卫星图片,大概是把卫星云图切成32*32的正方形,依次计算阙值然后再统计。我用了一个星期的所有下午,pure c,差不多1500行代码,那个时候正在谈恋爱,智商比较低,在windows上面,装一个gcc,用editplus做编辑器,gdb+printf来调试,虽然最后小有成就感,确很费了很多功夫,程序的核心部分,如果用python来做,短短几行就搞定

  

import Image
im=Image.open('bigfile.raw')
for box in boxs:
    rg=im.crop(box)
    calc_Stat(rg)  
  当然如果做图像处理算法研究,还是推荐用matlab,python的浮点运算效率比较低,这是因为python中的浮点数位数几乎可以无限,类似Big Int的处理方法
4。写算法作业
      当然这个要你老师同意,下面这个是一个quick sort的例子,是不是很简单。

  

def qsort(L):
   if L == []: return L
   return qsort([x for x in L[1:] if x< L[0]]) + L[0:1] + qsort([x for x in L[1:] if x>=L[0]])
  
  
5.内置的脚本引擎
  这个不属于玩具的范围了。你所需要做的,就是仔细看python doc里面Extending and Embedding这部分。你也可以用c++写python的module,boost提供了一个库,可以简化编程。
   2年前国内还没有几个人知道python,至少到了今天,了解python,使用python的都越来越多了,希望能有更多的程序员关注它。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59922-1-1.html 上篇帖子: 你需要知道的、有用的 Python 功能和特点 下篇帖子: python 在调用时计算默认值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表