`

Perl 与 Python 控制结构比较

 
阅读更多
  • 布尔值
  • 控制结构

 

一、布尔值

 

  • Perl判断布尔值
  • Python判断布尔值

 

perl与python控制结构都是使用布尔值来判断,布尔值可分为两种:True和False及真和假。

 

Perl判断布尔值有如下几项规律

 

1.如果值为数字,0为假;所有其他数字都为真。

2.如果值为字符串,空字符串为假;其他所有字符串都为真。

3.如果不是数字也不是字符串,就先转换成数字或字符串在判断。

 

 

Python判断布尔值

 

判断布尔值类型python可直接使用表达式判断

>>> 1>0
True
>>> 0>1
False
>>> True == 1
True
>>> True == 0
False
>>> False == 1
False
>>> False == 0
True

 

 

也可以通过bool函数判断真或假

>>> bool(0)
False
>>> bool(1)
True
>>> bool("")
False
>>> bool(None)
False

 

空序列都为False。

 

 

二、控制结构

 

  1. 顺序结构
  2. 选择结构
  3. 循环结构

 

1.顺序结构

Perl与Python相同,默认都由上到下逐行执行。

 

 

2.选择结构

 

  • Perl if结构
  • Python if 结构
  • Perl 与 Python运算符
  • 逻辑运算符
  • Python断言

 

Perl if结构

 

[1]if

if (条件){

    条件成立要执行的代码

}

 

[2]if - else

 

if (条件){

    条件成立要执行的代码

}else{

    条件不成立执行的代码

}

 

 

[3]if - elsif ...  - else

if(条件一){

    条件一成立要执行的代码

}
elsif(条件二){

    条件二成立要执行的代码

}
elsif(条件三){

    条件三成立要执行的代码

}
...
#可若干个elsif
...
else{

    上述条件都不成立要执行的代码

}

 

 

Python if结构

 

[1]if

if 条件:
   条件成立要执行的代码

 

[2]if - else

if 条件:
   条件成立要执行的代码
else:
   条件不成立要执行的代码

 

[3]if - elif ... - else

if 条件一:
   条件一成立要执行的代码
elif 条件二:
  条件二成立要执行的代码
elif 条件三:
   条件三成立要执行的代码
...
#可若干个elsif
...
else:
   上述条件都不成立要执行的代码

 

注意Python格式,顶头的elif或者else多一个空格都是错的。

 

 

 Perl 与 Python运算符相同。

=   等于

!=  不等于

>   大于

>= 大于等于

<   小于

<= 小于等于

 

Python is运算符是判断两个变量是否引用的同一个对象。

            is  not可达到相反效果。

 

Perl基础不存在对象概念所以不存在与判断是否引用同一个对象。

 

Python in运算符判断一个变量是否在一个序列当中。

            not in可达到相反效果。

 

Perl判断一个标量是否在一个列表中只能使用for、map、grep等函数循环判断。

 

 

逻辑运算符用法相同

 

and  or  not

 

Perl与Python同时遵循短路操作。

 

 

Python断言特性

 

assert

格式:
assert 条件,"条件不成立输出的报错"

 assert等同于if - else语句,不过前者只用起来较为方便。

 

虽然Perl没有断言特性,但是perl if存在高级用法

if (条件){

    条件成立时执行的代码

}

可简写为

条件成立时执行的代码 if 条件

 

 

3.循环结构

 

  • Perl while循环
  • Python while循环
  • Perl for循环
  • Python for循环
  • Perl 跳出循环
  • Python 跳出循环
  • Python循环语句的else语句

 

Perl while循环

 

while(条件){

    满足条件时执行的语句
    循环控制

}

 

循环控制Perl存在二元操作符,如+=、-=。还有自增自减,前++、后++、前--、后--。

 

 

Python while循环

 

while 条件:
      条件满足时执行的代码
      循环控制

 

循环控制Python存在二元操作符。

 

while循环控制的原理:当第一次条件满足时执行代码后,经过循环控制,在询问条件。

 

 

Perl for循环

 

for (变量初始值;循环列表;循环控制){

         循环语句

}

perl中foreach可写为for循环。

 

 

Python for循环

 

for 变量 in 序列:
     循环语句

 

for循环循环控制的原理:当遍历列表中所有的值后,循环结束。

 

 

数字范围

perl中想要1到10的列表:1..10即可。

 

Python中想要1到10的列表:range(1,11)

 

range函数提供可选参数,数字步长。

想要1到10之间的所有偶数:range(1,11,2).

 

如果range(10)说明给出的列表为0到9。

如果想要10到0即可写成range(11,1),从大到小步长为复数。

如果需要的数字过大推荐使用xrange函数。

 

 

Perl跳出循环

 

last   跳出循环
next   跳到下一次下次循环
rebo   重做当前循环

 

 

Python跳出循环

 

break  跳出循环
continue  跳到下次循环

 

 

Python循环语句的else语句

 

Python循环语句可以通过else语句来判断循环是否正常退出,当循环是正常结束时else会执行。

 

for 变量 in 列表:
    循环语句
else:
   正常结束执行的语句

while 条件:
    循环语句
else:
    正常结束执行的语句

 

 

另外,Perl还有until、unless等特有的控制结构。

 

Python还有pass、exec、eval等语句。

 

至此、完成。

 

分享到:
评论

相关推荐

    Perl To Python Migration.zip_migration_programming perl_python_u

    3. **控制流**:Perl的控制流语句如`if`、`while`和`for`与Python有所不同。Python的`if`语句不需要结束符号,`for`循环通常与`in`关键字一起使用。 4. **正则表达式**:Perl以其强大的正则表达式闻名,但在Python...

    PERL和Python的比较研究.pdf

    《PERL与Python的深度比较:特性、应用与发展趋势》 在当代信息技术领域,脚本语言因其灵活性和简便性在系统管理和网络应用中扮演着日益重要的角色。其中,PERL和Python作为两种广受欢迎的脚本语言,不仅在自由软件...

    XML与Perl.Python和PHP编程指南

    《XML与Perl.Python和PHP编程指南》这本书深入探讨了如何在XML环境下使用Perl、Python和PHP这三种流行的脚本语言进行编程。XML(可扩展标记语言)是用于存储和传输数据的标准格式,广泛应用于数据交换、Web服务和...

    Shell-Perl-Python脚本入门教程PDF

    3. **控制结构**:与Perl和Shell类似,Python有if-elif-else,for,while等控制结构。 4. **函数**:Python中的函数定义使用`def`关键字,支持默认参数、可变参数和关键字参数。 5. **面向对象编程**:Python支持...

    Perl2Py:我写了一对简短的脚本,这些脚本使用'subprocess'从Python内部调用perl脚本。 接受可选的输入参数,然后通过管道传输STDIN和STDOUT来运行perl脚本。 数据从perl转换为JSON,然后从JSON转换为python

    总的来说,Perl2Py项目展示了Python与Perl之间的一种有效协作方式,利用了'subprocess'模块的进程控制能力以及JSON的灵活性。这种方法在处理特定任务时特别有用,例如当有一个现成的Perl脚本库可以利用,或者当需要...

    perl经典书籍

    这本书以通俗易懂的方式介绍了Perl的基础知识,包括变量、数据类型、控制结构、正则表达式等,适合初学者系统学习。通过这本书,读者可以逐步建立起对Perl语言的理解,并掌握基本的编程技巧。 接着,我们看到的是...

    Giau tu chung khoan_python3_tu_Perl_

    2. **Python3基础**:针对Perl程序员的Python3入门,包括基本语法、数据类型、控制结构和函数。 3. **金融基础知识**:介绍股票市场、投资理论、风险管理等基本概念,为编程分析奠定基础。 4. **Python3在金融中的...

    美河系列python文档

    1. 《Python编程金典》:这本书可能是Python初学者的首选教材,它深入浅出地介绍了Python的基础语法、数据类型、控制结构、函数、模块和包等核心概念。此外,还可能涉及面向对象编程、异常处理、文件操作和标准库的...

    python 电子书合集2

    5. **An Introduction to Python英文版.pdf**:这是一本Python的入门教程,介绍Python的基础知识,包括语法、控制结构、数据类型、函数、模块和标准库,对于新接触Python的人来说是很好的起点。 6. **Effective ...

    PYTHON参考手册 第4版_修订版

    全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及...

    The Perl Programming Language

    Perl支持多种控制结构,如条件语句(if-else)、循环语句(while、for)等,这些结构可以帮助编写更复杂的程序逻辑。 ##### 3.4 子程序 子程序是Perl中的函数,可用于封装代码块以供多次调用。定义子程序使用`sub`...

    pythonPPT课件.ppt

    4. **条件和循环**:涉及if-else语句、for循环、while循环等控制流结构。 5. **函数**:介绍如何定义和调用函数,以及参数传递的概念。 6. **模块**:讲解如何组织代码,导入和导出模块,以及使用标准库和第三方库。...

    Python参考手册(第4版·修订版).[美]David M.Beazley(带详细书签)

    全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及...

    a byte of python

    书中首先介绍Python的历史和特点,并与Perl和Ruby等其他编程语言进行了比较,旨在帮助读者理解为什么选择Python。接着,书中详细指导了如何在不同操作系统上安装Python,包括Linux、Windows、BSD、Mac OS X等,并...

    perl中文手册.zip

    在Perl中文手册中,你将找到关于Perl语言的全面介绍,包括基础语法、数据类型、控制结构、函数、模块使用以及错误处理等内容。此外,手册可能还会涵盖正则表达式的深入讲解,因为这是Perl的核心特性之一。通过学习这...

    2018 最新 Python3.5.2入门指南

    在Python中,基础语法包括变量的使用、数据类型、控制结构等。例如,`if`、`for`和`while`语句用于实现条件判断和循环操作。`range()`函数可以生成一个整数序列,用于循环中。`break`、`continue`和`else`用于循环...

    lamp(Linux+Apache+Mysql+Perl/PHP/Python)论文

    LAMP 结合了 Linux、Apache、MySQL 和 PHP/Perl/Python,形成了一种高效且低成本的 Web 应用程序开发平台。这种架构允许开发者快速构建动态、数据驱动的网站和服务。在 Red Hat Linux 9 平台上搭建 LAMP 需要安装...

    perl 语言入门(中文)

    - **控制结构**:包括条件语句(如`if`、`elsif`、`else`)、循环语句(如`for`、`while`)等,用于控制程序流程。 - **循环控制**:Perl提供了`while`循环和`foreach`循环,前者用于条件循环,后者更适用于遍历...

    python基础培训视频

    Python的设计哲学强调代码的可读性和简洁的语法,同时也借鉴了C、C++、Perl、Java等其他语言的优点。 - **特点**: - 简单易学:Python语法简洁明了,易于学习和理解。 - 开源免费:Python是一款开源软件,可以...

Global site tag (gtag.js) - Google Analytics