python中的控制流

在其他语言中的标准控制流概念在python中也是通过一些条件逻辑、循环等关键字的方式实现的。

一、if、elif和else

if语句是最广为人知的控制流类型。它检查一个条件是否为True。

一个if语句可以接多个elif代码块和一个else代码块,如果所有的elif条件均为False,则执行else代码块;

如果某个条件为True,则后面的elif和else代码块则不会执行。

二、for循环

for循环用于遍历一个合集(例如列表或元组)或一个迭代器。

使用continue关键字可以跳过continue后面的代码进入下一次循环:

sequence = [1,2,None,4,None,5]

total = 0

for value in sequence:

    if value is None:

        continue

    total += value

上面的代码表示对列表中的非None值进行累加。

使用break关键字可以结束一个for循环:

sequence = [1,2,0,4,6,5,2,1]

total_until_5 = 0

for value in sequence:

    if value == 5:

        break

    total_until_5 += value

以上代码会对列表元素进行累加,直到5出现。

break关键字只结束最内层的for循环,而外层的for循环会继续运行。

如果集合或迭代器中的元素是一个序列(比如元组或列表),它们可以在for循环语句中很方便地通过拆包成为变量。

三、while循环

while循环会在条件符合时一直执行代码块,直到条件判断为False或显式地以break结尾时才结束:

x = 256

total = 0

while x>0 :

    if total > 500:

        break

    total += x

    x = x//2

四、pass

pass就是python中的‘什么都不做’语句。它用于在代码段中表示不执行任何操作,之所以需要它,是因为python使用了缩进来分隔代码块。

五、range

range函数返回一个迭代器,该迭代器生成一个等差整数序列;

起始、结尾、步进(可以是负值)可以传参给range函数;

但是,range产生的整数包含起始却不包含结尾,range常用于根据序列的索引遍历序列;

尽管你可以使用函数,比如list函数将range产生的整数储存在其他数据结构,但通常默认的迭代器形式就是你想要的;

虽然range产生的序列可以是任意大小,但在任意给定时间内的内存使用量是非常小的。

六、三元表达式

python中的三元表达式允许你将一个if-else代码块联合起来,在一行代码或一个语句中生成数据;

在if-else代码块中,是按顺序逐个执行的。

虽然我们可以使用三元表达式来压缩代码量,但请注意如果条件以及真假表达式非常复杂,可能会牺牲可读性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格陵Lan丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值