for循环
1.语法
当我们写while循环的时候,不给判断条件的时候,while循环是不会自动结束的,他是无限次循环的,我们要是想要while结束循环的需要给判断也就是说需要我们自己判断它。拿我们就会想其他的方法来解决这些问题,这时候我们就学到了for循环,for循环的循环次数受限于容器类型的长度,而while循环的循环次数需要自己控制。
比如:字典也有取多个值的需求,字典可能有while循环无法使用了,这个时候可以使用我们的for循环。
# while 循环
name_list = ['nick', 'jason', 'tank', 'sean']
n = 0
while n < 4:
# while n < len(name_list):
print(name_list[n])
n += 1
# for循环,去字典的key
info = {'name': 'nick', 'age': 19}
for item in info:
# 取出info的keys
print(item)
# for循环,去字典的item
name_list = ['nick', 'jason', 'tank', 'sean']
for item in name_list:
print(item)
for循环也可以按照索引取值。
# for循环按照索引取值
name_list = ['nick', 'jason', 'tank', 'sean']
# for i in range(5): # 5是数的
for i in range(len(name_list)):
print(i, name_list[i])
for循环的循环次数也是顾头不顾尾的。
for i in range(1, 10): # range顾头不顾尾
print(i)
# 1,2,3,4,5,6,7,8,9
2.for 和 while 的区别
while:
1. 会进入死循环(不可控),尽量少使用while循环
2. 世间万物都可以作为循环的对象
for:
1. 不会进入死循环(可控),以后尽量使用for循环
2. 只对容器类数据类型+字符串循环(可迭代对象)
3.for + break
我们学while循环的时候,学习了使用break来结束本层循环,continue来结束本次循环;那我们学习for循环也有break和continue。
for循环调出本层循环。
# for+break
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
break
print(name)
4.for + continue
for循环调出本次循环,进入下一次循环
# for+continue
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
continue
print(name)
5.for + else
for循环里的else 和 while里的else的使用方法式样的,都是在没有break的时候触发else内部代码块。
# for+else
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
print(name)
else:
print('for循环没有被break中断掉')
# nick
# jason
# tank
# sean
# for循环没有break中断掉
6.for 循环实现加载loading
实现加载的时候,我们用到了python里面的time库,和time库里面的sleep方法。
import time
print('Loading', end='')
for i in range(6):
print(".", end='')
time.sleep(0.2)
# Loading......