设为首页 收藏本站
查看: 1232|回复: 0

[经验分享] Perl 与 Python 控制结构比较

[复制链接]

尚未签到

发表于 2017-4-27 12:41:46 | 显示全部楼层 |阅读模式

  • 布尔值
  • 控制结构


  一、布尔值


  • 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.顺序结构
  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等语句。
  至此、完成。
   

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370026-1-1.html 上篇帖子: python 整数转为二进制bin() 下篇帖子: python的函数定义和调用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表