shell、perl和python的简单

2020-01-07 16:35:17 浏览数 (1)

自己总结的shell、perl和python的简单对比,欢迎交流!

【输出】

Shell:echo "hello,world"

Perl:print “hello,world”

Python:print "hello,world"

【变量定义】

Shell:

name=oudemen     echo $name

perl:

$name 标量   print $name

@names 数组

%name 哈希变量

Python:

name=oudemen       Print name

name=[] 普通链表,元素可变

name=()固定数组,元素个数不可变

name={m,n} 哈希数组

【子程序/函数】

Shell:

         function 函数名()

         {

语句块;

                   Return();

         }

调用函数名 arg1,agr2,…

perl:

         sub 子程序名{

                   my ($参数1,$参数2,$参数3)=@_;

语句块;

                   Return(返回值);

         }

调用子程序 &子程序名

Python:

         def 函数名(arg1,arg2,…argn):

          ……(注意,一定要有缩进[空格或者tab])

          ……

         Return(x)

调用函数 函数名(arg1,arg2,…argn)

【if条件判断】

Shell:

         if [条件表达式]

         then

条件为真command

         else

条件为假command

         fi

perl:

         if(条件表达式)

         {

表达式为真的语句块;

         }

或者 表达式为真的语句块 if 条件表达式;

或者 条件表达式&&表达式为真的语句块;

         if(条件表达式){

条件表达式为真时的语句块;

         }else{

条件表达式为假时的语句块;

         }

或者 条件表达式?表达式1:表达式2  [如果条件表达式为真,执行表达式1,否则执行表达式2]

         if(条件表达式1)

         {

条件表达式1为真时的语句块;

         }elsif(条件表达式2){

条件表达式2为真时的语句块;

         }elsif(条件表达式3){

条件表达式3为真时的语句块;

         }

         ……

         else{

所以条件表达式为假时的语句块;

         }

Python:

if  条件表达式1: 条件表达式1为真时的语句块

         elif 条件表达式2: 条件表达式2为真时的语句块

         else: 所以条件表达式为假时的语句块

【unless条件判断】

Shell:无

perl:

         unless(条件表达式){

条件表达式为假执行的语句块;

         }

或者 条件表达式为假执行的语句块 unless (条件表达式);、

或者 条件表达式 || 条件表达式为假执行的语句块

         unless(条件表达式){

条件表达式为假时的语句块;

         }else{

条件表达式为真时的语句块;

         }

Python:无

【循环控制--while】

Shell{break跳出循环,continue跳出本次循环}

         While[条件表达式]

         do

命令行

         done

perl{ last退出循环,next终止本次循环,适用perl所有循环}:

         while(条件表达式){

语句块;

         }

或者         {语句块}while(判别表达式)

         do

         {

语句块;

         }while(条件表达式) [跟while相比,do while保证语句块至少执行一次]

Python{break 跳出循环,continue结束本次循环}:

         While条件表达式:

语句块

         else:

语句块

【循环控制until】

Shell:

         until 条件表达式

         do

条件为假执行的语句块

         done

perl:

         until( 条件表达式)

         {

语句块

         }

或者 语句块 until(条件表达式);

         do

         {

语句块;

         }until(条件表达式)

Python:无

【循环控制--for】

Shell:

         for((初始表达式;条件表达式;循环过程运算式));

         do

语句块;

         Done

         for i in 文件或数组

         do

语句块;

         Done

perl:

         for(初始表达式;条件表达式;循环过程运算式)

         {

语句块;

         }

         for 标量(数组变量)

         {

语句块;

         }

         for  (数组变量)

         {

读取$_,处理数组相关的语句块;

         }

         foreach   标量(数组变量)

         {

语句块;

         }

         foreach   (数组变量)

         {

读取$_,处理数组相关的语句块;

         }

Python:

         for i in range、数组或者字符串等

语句块(此行要缩进)

0 人点赞