循环语句-for-in
Python并没有提供类似C语言中那种传统意义上的for循环,而是提供了一种专门处理字符串,元组,列表,字典等可迭代的序列类型数据的增强型for循环。
遍历可迭代对象
使用for-in循环处理可迭代对象,可以使操作过程变的极其简单。
遍历字符串
s = "Hello Hogworts!"
for c in s:
print(c)
示例: 输出前面示例中每个字符对应的ASCII码值。
s = "Hello Hogworts!"
for c in s:
print(f"字符【 {c} 】的ASCII码为:【 {ord(c)} 】")
遍历元组
t = (1,2,3,4,5)
for n in t:
print(n)
示例:输出前面示例元组中每个数字的立方值
t = (1,2,3,4,5)
for n in t:
print(f"数字【 {n} 】的立方值为:【 {n*3} 】")
遍历列表
requestMethods = ["get", "post", "put","delete", "patch", "header", "options",'trace']
for method in requestMethods:
print(method)
示例:将前面示例列表中所有的请求方式转换为大写输出
requestMethods = ["get", "post", "put","delete", "patch", "header", "options",'trace']
for method in requestMethods:
print(f"请求方式【 {method} 】转换为大写后:【 {method.upper()} 】")
遍历字典
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods:
print(method)
从前面的代码中可以看出,字典是一个比较特殊的数据类型,由key-value组成,在使用for-in遍历字典时,默认遍历的是字典的所有key,相当于下面的代码
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.keys():
print(method)
如果想遍历字典中的所有值,可以使用下面的方式
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods.values():
print(method)
但是直接对字典取值遍历的使用方式大多数情况下是无意义的。
示例: 通过遍历字典的key,输出每个key对应的值。
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for method in requestMethods:
print(f"请求方式【 {method} 】的作用为:【 {requestMethods[method]} 】")
此种方式虽然可以取到结果,但是for-in循环在遍历字符时,配合字典的items()
方法,实现更简单的方法
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for item in requestMethods.items():
print(f"请求方式【 {item[0]} 】的作用为:【 {item[1]} 】")
甚至,代码还可以配合解包操作,更简单的实现
requestMethods = {
"get": "用于获取服务器上的资源,通过在URL中传递参数来发送请求。",
"post": "用于向服务器提交数据,一般用于创建新的资源或进行修改操作。",
"put": "用于更新服务器上的资源,一般用于修改已存在的资源的全部内容。",
"delete": "用于删除服务器上的资源。"
}
for key, value in requestMethods.items():
print(f"请求方式【 {key} 】的作用为:【 {value} 】")