博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控制流
阅读量:6524 次
发布时间:2019-06-24

本文共 3243 字,大约阅读时间需要 10 分钟。

    编程的真正力量不仅仅在于运行一条条的指令,就像任务清单那样。根据表达式求值的结果,程序可以决定下一步的操作。“控制流语句”决定了在什么条件下执行哪些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,如需转载请自行联系原作者
你可能感兴趣的文章
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
我眼中的自动化测试框架设计要点
查看>>
FLIF:自由的无损图像格式
查看>>
Google开源Inception-ResNet-v2,提升图像分类水准
查看>>
Opera 出售细节曝光:昆仑出资1.68亿美元
查看>>
CentOS 5.3 下快速安装配置 PPTP ××× 服务器
查看>>
产品经理学习总结之技术和设计篇
查看>>
23种设计模式(15):备忘录模式
查看>>
java基础学习总结——IO流
查看>>
iOS获取APP ipa 包以及资源文件
查看>>
CentOS 7 关闭启动防火墙
查看>>
Vue-选项卡切换
查看>>
linux网络命令
查看>>
nodejs ejs 请求路径和静态资源文件路径
查看>>