转自:http://blog.sina.com.cn/s/blog_7c60861501012yj9.html
设计一个语言的初始目的决定了该语言将会内建什么功能
perl初始是Larry为了格式化处理文本而创建的
所以内建了正则
看python居然内建一个复数型别,我猜测Guido最初一定是为了数值计算
而创建了pythonso,perl擅长文字处理,python擅长数值处理 Perl设 计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。Python面向对象的动态公共语言,适于脚本编程和快速开发,它最显著的特点是作为编译语言(如C)和脚本语言(如perl)之间的桥接语言,它具有的强大功能,可扩充性及面向对象的特征使其成为大规模应用程序开发工具。关于强类型Perl语言中,数据的类型,取决于数据所处的上下文。Python语言中,数据类型,是数据自身确定的。Python因此一般被认为是强类型语言,而Perl则不是,不过Perl的爱好者一般不关心这种事情。实际上,换个角度来看,Python是固定的数据类型,变化的函数类型;而Perl则是固定的函数类型,变化的数据类型。都很有意思。 关于 内置基础类型Perl的基础类型叫做scalar,这是为了和后面的array和hash做区别。scalar可以是数字,也可以是字符串。基本上说,scalar非此即彼;换句话说,scalar既是数字,又是字符串。scalar到底是字符串,还是数字,完全取决于使用scalar的上下文,如果是一个处理字符串的函数,那么它是字符串;如果是一个处理数字的函数,那么它是数字。Perl会尽一切努力完成它们之间的转化,无论在你看来有多么荒诞。Perl中,所有scalar都以$开头,所有以$开头的都是scalar。Python的基础类型,同样,不是数字,就是字符串。但是,不可能既是数字,又是字符串。Python会判断变量到底是数字,还是字符串,以此来选择怎么解释函数;如果它找不到一个合适的解释,那么Python会抛出异常。一般来说,这种策略能够取悦一部分程序员,同时让另外一部分人感觉很不爽。关于 复合类型 Perl有两种复合类型:array和hash。Python有三种复合类型:tuple,list, dict。Python中的tuple+list,完全对应于Perl中的array;因此不存在谁提供的类型更丰富这样的问题。关于 创建 Perl中创建array可以通过()。但是()到底是否会创建一个array,这取决于所处的上下文;换句话说,只有当上下文要求一个array时,()才会产生一个array。事实上,()可能创建一个scalar,也可能创建一个hash,这完全取决于上下文。关于存取单个元素 Perl中我们可以用$foo[$bar]来表示foo这个array中的第$bar个元素。特别诡异的是,这个foo和$foo中的foo是完全不相干的,这回应了前面提到的Perl原则,一个符号到底什么意思,取决于上下文。并且,在$foo[$bar]这样一个上下文中,$bar会被Perl 搞成整数,无论它本来是什么。Perl中,用一个越界的idx访问array是完全正常的,Perl会悄悄的扩展array。Python中,tuple或者是list,两者都通过lst[idx]这样的形式存取其中的元素。Python中,用一个越界的idx访问array会触发一个异常。Python中,提供了强大的slice功能。关于做为整体的list Perl中,用@开头的名字表示整个array,据说是因为@是array的字头。但是,又根据Perl的原则,@foo这样的array也可以被使用到一个需要scalar的环境中去,Perl会尽力把@foo转换成一个scalar,一般来说,这个scalar就是@foo的长度。Python中,直接使用变量名,就能获得整个list(或者tuple)。

perl和python各自擅长的领域相关推荐

  1. perl和python各自擅长什么领域?

    设计一个语言的初始目的决定了该语言将会内建什么功能 perl初始是Larry为了格式化处理文本而创建的 所以内建了正则 看python居然内建一个复数型别,我猜测Guido最初一定是为了数值计算 而创 ...

  2. 【python的擅长领域】

    python的擅长领域 python擅长的领域 一.最火的爬虫领域 1.爬虫是什么? 2.爬虫能干什么? 二.游戏开发 优点 三.web开发 四.人工智能领域 五.数据分析 六.自动化运维 pytho ...

  3. python最擅长做什么_什么是Python?Python擅长什么领域?

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido(吉多) van Rossum于1989年发明,第一个公开版本发行于1991年.在国外应用非常的广泛,国外的大学里面,软工都大量 ...

  4. day1-Python擅长的领域+学习内容

    Python擅长的领域 WEB开发 Django   Pyramid     Tornado       Bottle    Flask    WebPy 网络编程 Twisted        Re ...

  5. python和perl区别_对比平台--Perl与Python之间的差异

    Perl是一种面向对象的开源程序,用于在Unix系统中构建和实现应用程序,类似于python.Perl与Python之间有一些主要区别.Perl需要分号来指示行尾,但是python不需要.尽管Perl ...

  6. perl、python、shell脚本区别

    个人目前工作主要用到的脚本语言是shell.perl sed和awk一般融入到shell里面应用, bash是shell的一种, 也是linux的默认shell shell是linux内核和用户命令的 ...

  7. Perl,Python,Ruby,Javascript 四种脚本语言比较

    Perl 为了选择一个合适的脚本语言学习,今天查了不少有关Perl,Python,Ruby,Javascript的东西,可是发现各大阵营的人都在吹捧自己喜欢的语言,不过最没有争议的应该是Javascr ...

  8. 2012年3月编程语言排行榜:JavaScript超越Perl和Python

    2012年3月编程语言排行榜:JavaScript超越Perl和Python TIOBE 于昨日公布了2012年3月编程语言指数排行榜.排名前三的语言是:Java.C 和 C#. 在本月排行榜中,Ja ...

  9. python和perl的区别_Perl和Python之间有什么区别?Perl与Python的简单比较

    Perl和Python都是一种通用的高级编程语言,都是OO(面向对象)的:那么它们之间有什么区别?下面本篇文章就来给大家简单比较一下Perl和Python,介绍一些Perl和Python之间的区别,希 ...

最新文章

  1. Flex Timer 定时器
  2. 百练OJ:2728:第一个C++程序
  3. 排错之网络映射缓存凭证记录导致备份计划任务失败
  4. Error creating bean with name ‘userController‘: Unsatisfied dependency expre
  5. hadoop 批流处理的实现_从T+1到T+0,浅谈PetaBase的实时流式处理
  6. iOS AFN监听网络状态
  7. c语言期末考试复习题,C语言期末考试复习资料 计算机等级考试复习题目
  8. 严防ARP病毒的六个步骤
  9. sp许可证查询 旧sp电信经营许可证查询 电信业务
  10. STM32——库函数版——RGB8x8全彩点阵程序
  11. 分形吧matlab,Matlab在分形模拟上的一些应用
  12. Beagleboard-xM Rev B 开发板探索 0.1
  13. 微服务之Spring Cloud Alibaba Nacos基础学习
  14. (BFM2009只是公开了数据模型,与99年开山基本一样)BM2009文献翻译
  15. ref、reactive、toRef、toRefs
  16. 路径和(cdq分治)
  17. 记一次用python selenium 通过chrome+chromedriver 实现公司内网上网自动登入认证、上班自动登入打卡python脚本笔记
  18. 计算机三级在线题库,计算机三级网络技术题库(附答案)
  19. [附源码]计算机毕业设计JAVA电影影评网
  20. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf

热门文章

  1. Spark-SparkSession.Builder 源码解析
  2. three.js使用obj + mtl文件加载材质问题
  3. python中uuid用法详解
  4. c++ 中. 和 -,波浪号 ~ 符号怎么用 ————很重要
  5. pytorch神经网络对Excel数据集进行处理2.0(读取,转为tensor格式,归一化),并且以鸢尾花(iris)数据集为例,实现BP神经网络
  6. Android:TextView和EditText
  7. 大众点评网谈成功秘诀:明白用户感兴趣、需要和寻找的是什么
  8. JavaWeb 01 JavaWeb概述
  9. 数据科学家的一天,是怎样度过的?
  10. 解决QQ或者谷歌不能联网而其他浏览器能运行的问题