- 布尔值
- 控制结构
一、布尔值
- 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等语句。
至此、完成。