for循环
一、循环结构之for循环
1.前戏
# 循环打印出列表中每个数据值
# 列表取值:索引
l1 = ['jason', 'kevin', 'tony', 'oscar']
# 循环打印出列表中每一个数据值
# 列表取值:索引
# while循环打印
# num = 0
# while num < 4:
# print(l1[num]) # 每次循环的时候索引应该自增1
# num += 1
# for循环
for i in l1:
print(i)
"""
for循环能够做到的事情while循环都可以做到
但是for循环的语法结构更加简单 尤其擅长循环取值
"""
2.语法结构
for 变量名 in 可迭代对象: # 字符串 列表 字典 元组
for循环的循环体代码
"""
针对变量名的命名 如果带取值的数据有明确的指向 最好见名知意
for name in 学习姓名名单
for addr in 地址信息
如果没有明确的指向 可以使用常见的字母
i j k item v ...
"""
3.常见操作取值
l1 = ['jason', 'kevin', 'tony', 'oscar']
# 循环打印出列表中每一个数据值
# 列表取值:索引
# while循环打印
# num = 0
# while num < 4:
# print(l1[num]) # 每次循环的时候索引应该自增1
# num += 1
# for循环
# for i in l1:
# print(i)
# user_dict = {
# 'username': 'jason',
# 'pwd': 123,
# 'age': 18
# }
# """for循环字典 默认只能取到字典的key"""
# for i in user_dict:
# print(i)
# desc = 'hello baby! 你会感谢少时奋斗的自己'
# """for循环字符串 默认每次取单个字符"""
# for i in desc:
# print(i)
# t = (11, 22, 33, 44)
# """for循环元组数据与列表一致 默认都是单个数据值"""
# for i in t:
# print(i)
# s1 = {1,2,3,4,5}
# for i in s1:
# print(i)
二、for重要知识
1.range
方法
- range方法可以看成一个可以帮助我们快速产生一个包含多个数据值的列表
- 1.如果括号里面只有一个数字,那么就是从0到开始数字减一结束(顾头不顾尾、左包含右不包含)
for i in range(5):
print(i) # 0,1,2,3,4
- 2如果括号里面有两个数字 第二个是起始位置(包含) 第二个是终止位置(不包含)
for i in range(3,10):
print(i) #3,4,5,6,7,8,9
- 3.括号内有三个数字,最好一个是数据的间隔数(等差数列)
for i in range(0,100,25)
print(i) # 0,25,50,75
三、range方法实操
- 网络爬虫:python代码模拟网络请求获取数据。很多网络数据都不止一页,所以有时候需要通过代码模拟
- 博客园多页规律
https://www.cnblogs.com/p1
https://www.cnblogs.com/p2
https://www.cnblogs.com/p3
https://www.cnblogs.com/p4
...
https://www.cnblogs.com/p300
#我们可以暂时写出如下爬虫伪代码
base_url = 'https://www.cnblogs.com/#p%s'
for i in range(1,101):
print(base_url % i)
四、for+break
- break也能够结束所在的一层的for循环
for i in range(1,10):
if i == 7:
print(i)
break
五、for+continue
for i in range(1,11):
if i == 5 or i ==3:
continue
print(i) # 1,2,4,6,7,8,9,10 (一共continue两次3和5)
六、for+else
for i in range(0,10):
print('开始循环:%s次' % (i+1))
if i ==5:
print('现在是第%d次循环' % (i+1))
else:
print("循环结束啦")