Flask接口签名sign原理与实例代码浅析
409
2022-09-07
python的循环语法(python语言循环)
循环语法
循环结构
循环结构是使用while、for循环语句的结构,可以减少冗余代码,提升代码的效率。
while 循环
while循环,while循环的使用if的基本相同,在while之后使用表达式,如果表达式为真,就会反复执行while循环代码块的作用域,每执行完一次就重新判断while的表达式,真就重复上述步骤,直到表达式为假才会跳出;如果一开始就是假,直接跳过。
while expression: code0 code1 ...
# 输出1 ~~ 100 的数字,并计算出它们的和num = 1 # 数字sum_up = 0 # 计算和count = 100 # 循环的次数while count: # 判断count的值,如果为0就跳出循环 print(num) # 输出数字 sum_up += num # 计算他们的和 num += 1 # 数字自增 count -= 1 # 次数自减print('和:', sum_up) # 循环结束,输出他们的和
死循环
只要while循环的条件表达式一直为真,相应的作用域就会一直执行,无法跳出,形成死循环。死循环时循环无法跳出,循环语句之后的代码也不会执行。
while True : print('死循环')print('跳出循环') # 永远无法跳出循环
关键字的使用
我们来讲三个很重要的关键字:pass、break、continue
pass
意思是过、占位符。本身是个空语句,没有任何含义,不会做任何的事情,只是为了保持程序结构的完整性二占据一些必要的位置。要注意区分None和pass的区别,None的意思是什么都没有,但是也一层布尔为假的含义;而pass是一点意义都没有,只是为了占据一些位置放置出错而已,更多的情况是用来程序的开发中使用,正式上线是很难看到这个关键字的。
# 代码块中必须有作用域,否则出错,但是我现在不想执行任何东西,怎么办?if True: pass # 使用pass占位while True: pass # 使用pass占位
break
只能用于循环语句当中,比如while、for,只要出现这个关键字,循环立即中断,并跳出循环,循环作用域中未执行的代码也不会执行,即使是循环语句的条件表达式尚未为假,也会立刻停止执行。
count = 10while count: count -= 1 if count == 6: break print(count)'''结果:987'''
continue
只能用于循环语句当中,注意和break的区别,continue是跳过当前的循环语句,然后继续循环的执行。
count = 10while count: count -= 1 if count == 6: continue print(count)'''结果:987543210'''
for循环语句
作用
循环、遍历、迭代。for循环的主要作用是可以遍历迭代可迭代对象。将遍历可迭代对象中的数据元素此一个一个依次提取出来,然后执行代码块中的代码,直到遍历结束。
遍历类型
可迭代对象:容器类型数据、range()函数、迭代器。
# for …… in 中间的变量是可迭代对象中的元素数据。for 变量 in 可迭代对象: code2 code1 ...
# 将一个容器中的数据遍历出来,所有的容器都是可迭代对象container = 'hello motherland'for i in container: print(i)
遍历字典只会遍历出字典的键
dctvar = {'one': 1, 'two': 2, 'three': 3}for i in dctvar: print(i)'''结果;onetwothree'''
遍历多级容器,我们就需要嵌套使用for循环
var = [[1, 2, 3, 4, 5], [12, 34, 56, 67, 84, 55]]for i in var: for j in i: print(j)
变量的解包
对于容器,我们可以直接使用同等长度数量的变量直接将容器中的数据提取出来。
# 所有容器都支持a, b, c, d, e = 'hello'print(a, b, c, d, e)a, b = ['hello', 'motherland']print(a, b)a, b = {'one': 1, 'two': 2} # 解包字典获取的是字典的键print(a, b)'''结果:h e l l ohello motherlandone two'''
所以遍历等长的多级容器的时候就可以利用变量的解包这一特性,快速遍历容器,尽量的避免循环的嵌套使用,因为循环嵌套是十分消耗计算机资源的。
var = [[1, 2, 3, 4, 5], [12, 56, 67, 84, 55]]for a, b, c, d, e in var: print(a, b, c, d, e)'''结果:1 2 3 4 512 56 67 84 55'''
range()对象
range函数是一个可迭代对象,可以按照顺序返回一些数字,可以配合for将一些复杂的工作简化。
语法: range([start_number], stop_number, step_number) range([开始值], 结束值, [步长])
range的三个参数都是整型数字,range有三种使用方法
输入一个参数,这个参数表示结束值,返回的结果是0 ~~ N-1
for i in range(5): print(i)'''结果;01234'''
输入两个参数,第一个参数S是开始值,第二个参数N是结束值,返回S ~~ N-1 。
for i in range(-3, 2): print(i)'''结果:-3-2-101'''
输入三个参数,第三个参数表示步长,意思是数值的增长按照步长的大小来依次返回。
# 从2开始,数字按照3来增长,默认是1for i in range(2, 10, 3): print(i)'''结果:258'''
倒数
for i in range(5, 0, -1): print(i)'''结果:54321'''
总结
while循环一般使用再较为浮躁的逻辑当中;for循环一般就是用于数据的遍历。但是它们两个之间的本质是相同的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~