perl和python各自擅长什么领域?
发布网友
发布时间:2022-05-06 00:29
我来回答
共1个回答
热心网友
时间:2022-04-18 06:03
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的长度。
perl和python各自擅长什么领域?
Perl 设 计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。Python 面向对象的动态公共语言,...
perl和python,用途一样不。
在文本处理方面,perl还是有点优势的。当然在web方面,二者差不多,不过python的web框架更多些,同时由于python的语言设计比较好些(相对来说),起码代码阅读上要好些,便于维护。当然萝卜咸菜,各有所爱,有人就不喜欢python的缩近。从语言设计者的角度,这两者可谓是南辕北辙,python力求简单,一件事由...
python和perl谁更好用
就 语法来看,Python比Perl优美得多。Perl里面充满了像$!和$_这类的天书标记,初学的时候每读一段代码,就会碰到几个从来没见过的标记,然 后过两个星期,他们又以全新的面目出现在我面前。在我看来,这决不是什么紧凑,只是疯狂。不过同样的尼采,有的人看到的是伟大的哲学家,有的人看到的只是 ...
perl 、shell、python三种脚本语言那种好学、易用
1、适用不同:shell是操作linux的基本,是必须学的。学shell就是学linux命令。perl有强大的正则表达式支持,对于文本处理非常强悍,玩linux不得不学。python作用一种面向对象的,能作为linux脚本的语言,学好之后能帮你很好地完成工作。2、特点不同:Perl是一种能完成任务的语言。从一开始,Perl就设计成可...
常用脚本语言,你使用过那些
Python作为跨领域语言的代表,不仅在数据科学、机器学习领域占据重要地位,还广泛应用于Web开发、自动化脚本、网络爬虫等多个领域。其简洁易读的语法与丰富的第三方库,使得Python成为新手与专家皆能上手的编程语言。在脚本语言的横评中,我们可以基于功能多样性、应用领域、学习曲线等因素给它们打分。尽管每种...
Linux运维学perl还是python好
同样是懒散运维表示。选python。两种我都曾经用过。1。可以肯定使用py的人越来越多,因为入门相当容易,这适合你的脚本被其他人理解,或者共同维护。2。就功能性来说,其实脚本语言都差不多。但是py有更好的调试机制,perl语法可以说约束太宽,我是觉得语法太随意,规范化的py看起来更简单易懂,py在...
python最擅长哪个方面
Python的应用领域很广,可以做自动化测试,自动化运维,也可以做web后端开发(比如大名鼎鼎的Django,Flask等框架),也可以做爬虫,数据分析,更可以做机器学习,自然语言处理,数据挖掘,有很多领域。你到底要学什么,很容易迷失方向,今天听人说Python的web开发很牛,学了几天,过两天网上又说web开发用PHP...
Perl和Pyhon具体有什么不同?哪个好学点儿?哪个应用比较广泛?
比较不同是没有意义的:1)具体的不同恐怕没有多少人比过2)比较出的不同恐怕对于你实际意义也不大 至于是否好学,最好不要作为自己学习的条件,存在的东西如果不好学,必然有其极大的优势 至于哪个应用更广泛,似乎python出现比较晚,所以perl可能更多的。应用广泛不代表他前景广阔 如果你要学习编程,...
perl 的文本处理比python 强吗
perl的正则 是最强的,所以文本处理最强 而python 一切都是对象,理解了这句话,学python就简单了。python对记忆要求高 处理的时候,需要各种import 我擅长perl,熟悉python,多交流
什么是Python, C, Perl, and LISP?
解析:这几种都是程序设计语言。其中Python类似于Javascript,可以写出很短小但是功能强大的小程序;Perl 是一种自由且功能强大的编程语言。它被用作 Web 编程、数据库处理、XML 处理以及系统管理等等 C语言是一种功能非常强大的高级语言,是目前最常用的程序设计语言之一.LISP是一种比较简单的动态语言,在...