控制流

本文介绍了Python编程语言中的基本语法元素,包括布尔值、比较和布尔操作符的使用,以及if...elif...else判断、while和for循环、break和continue中断等控制流语句的应用。还介绍了如何利用range()函数进行循环控制,并展示了如何使用sys.exit()来终止程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    编程的真正力量不仅仅在于运行一条条的指令,就像任务清单那样。根据表达式求值的结果,程序可以决定下一步的操作。“控制流语句”决定了在什么条件下执行哪些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 1in <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<5and (5<6)
True
>>> (4>5or (5>6)
False
>>> (4<5and (5>6)
False
>>> (4<5and not (5>6)
True
>>> (4<5and 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、付费专栏及课程。

余额充值