`

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等语句。

 

至此、完成。

 

分享到:
评论

相关推荐

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

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

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

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

    Python参考手册(第4版)

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

    Python程序员案头必备:《Python参考手册 (第4版)》(高清.书签.英文完整版)

    第5章 程序结构与控制流 第6章 函数与函数编程 第7章 类与面向对象编程 第8章 模块、包与分发 第9章 输入与输出 第10章 执行环境 第11章 测试、调试、探查与调优 第二部分 Python库 第12章 内置函数和异常 ...

    简明python教程(chm)

    为什么不使用Perl? 程序员的话 2. 安装Python Linux和BSD用户 Windows®用户 概括 3. 最初的步骤 简介 使用带提示符的解释器 挑选一个编辑器 使用源文件 输出 它如何工作 可执行的Python程序 获取...

    简明python教程

    为什么不使用Perl? 程序员的话 2. 安装Python Linux和BSD用户 Windows®用户 概括 3. 最初的步骤 简介 使用带提示符的解释器 挑选一个编辑器 使用源文件 输出 它如何工作 可执行的Python程序 获取...

    测量程序编制 - python 73流程控制:循环结构(for).pptx

    流程控制:循环结构(for) 循环结构-for循环 for迭代变量 in 字符串|列表|元组|字典|集合: 代码块 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。 for 循环的语法...

    简明 Python 教程 中文版

    Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想...

    简明 Python 教程.rar

    无论您刚接触电脑还是一个有经验的程序员,本书都将有助您学习使用Python语言。 目 录 前言.1 本书的读者..........1 本书的由来..........1 本书目前的状况...2 约定条款..2 反馈.........2 值得思考的...

    Python中文手册

    介绍 &lt;br&gt;简介 &lt;br&gt;Python的特色 &lt;br&gt; 概括 &lt;br&gt;为什么不使用Perl? &lt;br&gt;程序员的话 &lt;br&gt;2. 安装Python &lt;br&gt;Linux和BSD用户 &lt;br&gt;Windows®用户 &lt;br&gt;概括 &lt;br&gt;3. 最初的...

    python简明教程.chm

    为什么不使用Perl? 程序员的话 2. 安装Python Linux和BSD用户 Windows®用户 概括 3. 最初的步骤 简介 使用带提示符的解释器 挑选一个编辑器 使用源文件 输出 它如何工作 可执行的Python程序 获取...

    Python简明教程

    为什么不使用Perl? 程序员的话 2. 安装Python Linux和BSD用户 Windows®用户 概括 3. 最初的步骤 简介 使用带提示符的解释器 挑选一个编辑器 使用源文件 输出 它如何工作 可执行的Python程序 获取帮助 概括 4. ...

    [源代码]Python算法详解.rar

    )收藏评论(0)举报资料介绍基于Python分别讲解了算法是程序的灵魂,数据结构,常用的算法思想,线性表、队列和栈,树,图,查找算法,内部排序算法,经典的数据结构问题,解决数学问题,经典算法问题,解决图像问题...

    Linux C程序设计大全

    第1篇 Linux下C语言基础 第1章 Linux简介 1.1 GNU简介 1.2 Linux简介 1.2.1 Linux发展史 1.2.2 Linux发行版 1.2.3 Linux内核版本 1.2.4 Linux与UNIX的关系 1.2.5 Linux在服务器方面...第28章 shell脚本中的控制结构 844

    GWA2:GWA2是通用的Web应用程序体系结构。 Java,PHP,.Net,Perl等的实现。通用网络应用架构

    通用Web应用程序体系结构。通用网络应用架构。 : , GWA2用Java讲话 , GWA2用PHP讲话 , GWA2在Perl中讲话 , GWA2用Aspx讲话 和 GWA2用Python说话 。 。 GWA2是用于Web应用程序的跨脚本编程框架。 从界面...

    Linux服务器配置与管理项目7--WWW服务器配置与管理.pptx

    Linux服务器配置与管理项目7 WWW服务器配置与管理 Linux服务器配置与管理项目7--WWW服务器配置与管理全文共87页,当前为第1页。... 一些通用的语言接口支持perl、python和PHP,流行的认证模块包括mod_access、rood_aut

    网络安全工程师.docx

    4、熟悉windows或linux系统,精通php/shell/perl/python/c/c++ 等至少一种语言; 网络安全工程师全文共2页,当前为第2页。网络安全工程师全文共2页,当前为第2页。 5、了解主流网络安全产品如fw、ids、scanner、...

    人事管理系统程序设计语言

    AWK Basic Fortran VBScript Brainfuck C语言 C++ C# Clipper COBOL dBase PASCAL Delphi Forth FoxPro F# Fava IDL Java JavaScript J# LISP Lua LOGO Modula Nuva Perl PHP   PL/I   Prolog   Python R语言 ...

    精通正则表达式~~~

    第一想法:比较NFA与DFA.. 156 回溯... 157 真实世界中的例子:面包屑... 158 回溯的两个要点... 159 备用状态... 159 回溯与匹配优先... 162 关于匹配优先和回溯的更多内容... 163 匹配优先的问题... 164 ...

Global site tag (gtag.js) - Google Analytics