【unprofessional use Blog002】比较python和perl的异同

一、语言

perl
实用报表提取语言
python
解释型、交互式、面向对象的语言

二、语言特点

perl
入门容易、程序编写容易、接近自然、可移植性强
python
易于学习、易于阅读、可移植、可扩展、数据库

三、变量

perl
标量$
数组@
哈希%hash =(“key”=>”value”)
特殊变量: , @ , _,@_, ,@,[1],$1
: 未 告 知 P e r l 使 用 哪 个 变 量 或 数 值 时 , P e r l 会 自 动 使 用 _:未告知Perl使用哪个变量或数值时,Perl会自动使用 :Perl使Perl使

$#:打印数组最后一个下标的值
$[:含有所有数组的第一个索引的标量,默认是0

python
数字
列表list = []
字典 dict={“key”:”value}
不可变对象:元组、字符串
可变对象:列表、字典

四、控制流

perl
条件:if/if else/if elsif
循环:while/for/foreach

python
条件:if/if else/if elif
循环:while/for

五、循环操作符

perl
next:结束当前迭代进入下一个迭代
last:结束当前循环直接执行循环后语句
continue:在下一次迭代条件被评估前执行
goto
redo

python
continue:跳出本次循环
break:跳出所有循环
pass:占位符

六、正则表达式

perl
匹配:m//
替换:s///
转化:tr///
split/PATTERN/,EXPR,LIMIT
=~:默认情况下模式匹配的操作对象是$_,绑定操作符告诉Perl,拿右边的模式来匹配左边的字符串,而不是直接匹配
$&:储存整个匹配区段
$‘:储存匹配之前的内容
$’:储存匹配之后的内容

python
re.match
re.search
re.sub
re.compile
findall
re.finditer
re.split

七、逻辑运算符

perl
and
or
not

python
and
or
not

八、I/O方法

perl
标准:$variable=<STDIN
Print STDOUT $variable
文件:open IN,”<input.txt”
open OUT ,”>output.txt”

python
标准I/O: (从键盘输入)raw_input:从标准输入读入一行返回为字符串
Input:基本等同raw_input,区别为默认输入域为一个python表达式,返回评价结果
标准输出:print(输出到屏幕)

九、函数

perl
定义:sub name{}
引用:&函数名,可以在定义之前,也可以在定义之后引用

python
定义:def 函数名(参数列表)
引用:一定要在定义之后引用

十、模块

perl
安装:模块包;cpan
使用:use Getopt::Long qw/GetOptions/

python
安装:source源代码/PyPi/conda
使用:import/from/im.reload()

十一、多线程与胶水语言

perl
Perl中数据默认不能在线程中被分享,因此具有安全性。可使用threads模块创建线程。Threads::shared来实现数据共享
lock()对分享的变量加锁

python
两种方式:函数或用类来包装线程对象。
函数创建新线程:调用thread模块中start_new_thread()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值