控制流

    编程的真正力量不仅仅在于运行一条条的指令,就像任务清单那样。根据表达式求值的结果,程序可以决定下一步的操作。“控制流语句”决定了在什么条件下执行哪些python语句。


布尔值

    虽然整型、浮点型和字符串数据类型有无数种可能的值,但“布尔”数据类型只有两种值:True和False。在作为python代码输入时,布尔值True和False不像字符串,两边没有引号,它们总是以大写字母开头。布尔值也可以用在表达式中,并且可以保存在变量中。如果大小写不正确,或者试图用True和False作为变量名,python会给出错误信息。

1
2
3
4
5
6
7
8
9
>>> abc = True
>>> abc
True
>>> false
Traceback (most recent call last):
   File  "<stdin>" , line  1 in  <module>
NameError: name  'false'  is  not  defined
>>>  False
False


比较操作符

比较两个值,求值为一个布尔值。

整型或浮点型的值永远不会与字符串相等。

==与=的区别:==用于判断是否一致,而=用于赋值。

▎常用比较操作符:

    ==        等于

    !=         不等于

    <          小于

    >          大于

    <=        小于等于

    >=        大于等于

测试示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>>  40 = = 40
True
>>>  40 ! = 42
True
>>>  40 < = 42
True
>>>  40 > = 42
False
>>>  40 > = 40
True
>>>  40 = = '40'
False
>>>  'tom' = = 'Tom'
False
>>>  'tom' ! = 'Tom'
True


布尔操作符

and和or操作符总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。

如果两个布尔值都为True,and操作符就将表达式求值为True,否则求值为false。

只要有一个布尔值为真,or操作符就将表达式求值为True。如果都是False,所求值为False。

和and和or不同,not操作符只作用于一个布尔值(或表达式)。not操作符求值为相反的布尔值。

1
2
3
4
5
6
7
8
9
10
>>> ( 4 < 5 and  ( 5 < 6 )
True
>>> ( 4 > 5 or  ( 5 > 6 )
False
>>> ( 4 < 5 and  ( 5 > 6 )
False
>>> ( 4 < 5 and  not  ( 5 > 6 )
True
>>> ( 4 < 5 and  not  not  ( 5 > 6 )
False


控制流语句

控制流语句的开始部分通常是“条件”,接下来是一个代码块,称为“子句”。

1)if...elif...else   判断

只有if语句为False时,后面的子句才会执行。

一个控制流中可以有有多个elif子句。

1
2
3
4
5
6
7
8
9
10
11
12
[root@server01  test ] # cat if.py
a=6
if  a<5 :
     print( 'a<5' )
elif  a==5 :
     print( 'a=5' )
elif  a==6 :
     print( 'a=6' )
else  :
     print( 'a>6' )
[root@server01  test ] # python3 if.py
a=6


2)while和for       循环

while和for都可以循环,但for循环相对更简洁。

while示例:

1
2
3
4
5
6
7
8
9
10
11
[root@server01  test ] # cat while.py
a=0
while  a<5:
     print( 'Hello world.' )
     a=a+1
[root@server01  test ] # python3 while.py
Hello world.
Hello world.
Hello world.
Hello world.
Hello world.

for示例:

1
2
3
4
5
6
7
8
9
[root@server01  test ] # cat for.py
for  in  range(0,6):
     print( 'Hello world.' )
[root@server01  test ] # python3 for.py
Hello world.
Hello world.
Hello world.
Hello world.
Hello world.


3)break和continue    中断

当循环时,如果执行遇到break语句,就会马上退出循环。

1
2
3
4
5
6
7
8
9
10
11
[root@server01  test ] # cat break.py
a=0
while  a<5:
     print( 'Hello world.' )
     a=a+1
     if  a==3:
         break
[root@server01  test ] # python3 break.py
Hello world.
Hello world.
Hello world.

当循环时,如果执行遇到continue语句,就会跳回循环开始处,继续循环。

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@server01  test ] # cat continue.py
a=0
while  a<5:
     if  a==3:
         a=a+1
         continue
     print( 'Hello world.' )
     a=a+1
[root@server01  test ] # python3 continue.py
Hello world.
Hello world.
Hello world.
Hello world.


4)range()

range()函数可以被传递多个参数。上限为3个参数。第一个为变量开始的值,第二个参数是上限(不包含),第三个参数是“步长”。

1
2
3
4
5
6
7
8
>>>  for  in  range ( 0 , 15 , 3 ):
...      print (i)
...
0
3
6
9
12


终止程序

使用import语句导入模块,可以使用内建函数。可以直接用import语句,也可以用from import语句。

使用from import语句,调用模块中的函数时不需要模块的前缀。

推荐使用import语句,因为完整的名称让代码更可读。

通过调用sys.exit()函数,可以让程序终止或退出。因为这个函数在sys模块中,所以必须先导入sys,才能使用它。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@server01  test ] # cat sys.py
import  sys
a=1
while  True:
     print( 'Type exit to exit.' )
     text=input()
     if  text== 'exit' :
         sys. exit ()
     print(str(a)+ '> ' +text)
     a=a+1
[root@server01  test ] # python3 sys.py
Type  exit  to  exit .
hello
1> hello
Type  exit  to  exit .
world
2> world
Type  exit  to  exit .
exit










本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1943869,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值