[TOC]
<br>
### 条件判断逻辑
#### if...elif...else 语法
if 后面一般跟着表达式,如果表达式结果为True,则进入代码块,否则跳过
实例演示:
```python
if 1>2:
print("1>2")
else:
print("1<2")
```
输出结果如:
```cmd
1<2
```
**注意**
1. 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2. 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
### 循环遍历逻辑
#### for 循环
for 循环一般用在遍历迭代器中,一般形式为:
```python
for <variable> in <sequence>:
<statements>
else:
<statements>
```
##### 遍历列表
for循环,最常用的是遍历列表,举例如一个列表["Milton","Cherish","Evan"] 中有三个名称,如何逐个取出来呢?
```python
for name in ['Milton','Cherish','Evan']:
print(name)
```
输出结果为:
```cmd
Milton
Cherish
Evan
```
如上示例,name 变量在每次循环时,分别被赋值为列表当前被迭代的元素值。第一次循环,name='Milton',第二次循环时,name='Cherish',以此类推,直到循环结束。
##### 遍历列表时,通过 `enumerate()` 函数获得对应索引值
有时候,我们在遍历一个列表时,想要获得它的索引值,我们可以通过enumerate()函数如下:
```python
for index, name in enumerate(['Milton', 'Cherish', 'Evan']):
print(index, ":", name)
```
运行结果为:
```cmd
0 : Milton
1 : Cherish
2 : Evan
```
#### while 循环
while 循环的一般形式是:
```python
while <condition>:
<statements>
```
简单实例,输出1-10的数字:
```python
num = 1
while num <= 10:
print(num)
num += 1
```
**注意:**
1. 注意代码块缩进
### 逻辑控制语句
#### continue语句
在循环语句中,执行到continue,则停止本次循环,重新继续新的一次循环
#### break语句
在循环语句中,执行到break,则停止,并退出整个循环
#### pass语句
程序遇到pass语句,则什么都不做
>[info]**实例演示:continue,break,pass语句**
功能:20个小朋友,从1开始报数,偶数不出声,如果数字等于7不出声,数字等于15不出声并且直接停止游戏
```python
num = 0
while num <= 20:
num+=1
if num % 2 == 0:
# 遇到数字是偶数,这里什么都不做
pass
else:
if num == 7:
# 如果数字等于7,退出本次循环,继续下一次循环
continue
if num == 15:
# 如果数字等于15 退出整个循环
break
print(num,end=' ')
```
运行结果如:
```cmd
1 3 5 9 11 13
```
#### else 语句
else 在循环控制中,当循环正常结束,则执行,否则不执行。
在循环中,遇到break退出时:
```python
for name in ['Milton','Cherish','Evan']:
if name=='Cherish':
break
print(name)
else:
print("正常循环结束")
```
运行结果如:
```cmd
Milton
```
在循环中,如果正常结束,则:
```python
for name in ['Milton','Cherish','Evan']:
if name=='Peter':
break
print(name)
else:
print("正常循环结束")
```
运行结果如:
```cmd
Milton
Cherish
Evan
正常循环结束
```
### range() 函数
在for循环中,我们经常使用range函数创建一个整数列表,例如
```cmd
>>> range(10)
range(0, 10)
>>> for i in range(10):
... print(i)
...
0
1
2
3
4
5
6
7
8
9
>>>
```
当我们需要循环10次时,我们可以使用 for i in range(10) 了,是不是特别方便?
**注意:**
在python2中,range(10)会生成一个列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],当列表很大时,占用内存是非常大的。这点在python3中已经做了优化。
```cmd
>>> a=range(10)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> type(a)
<type 'list'>
```
在python3中,range(10) 会生成一个可迭代的对象,只有在每次循环调用时才生成下一个元素。
```cmd
>>> a = range(10)
>>> a
range(0, 10)
>>> type(a)
<class 'range'>
>>> list(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
range 函数语法:range(start, stop[, step])
(为了便于显示,这里使用python2)
```cmd
>>> range(3,10,2)
[3, 5, 7, 9]
```
### len() 函数
len(object) 可以获取一切对象的长度,例如可以获取列表,字符串,元组,字典的长度,如
```cmd
>>> len(['Milton','Cherish','Evan'])
3
>>> len("Hello,Milton")
12
>>> len((1,2,3))
3
>>> len({'k1':'v1','k2':'v2','k3':'v3'})
3
>>>
```
在前面for循环中,有提到过用enumerate函数,可以在遍历列表时,获得列表的索引,这里使用range与len 函数结合,同样可以获得相同的结果,如
```cmd
>>> users=['Milton','Cherish','Evan']
>>> for i in range(len(users)):
... print(i,users[i])
...
0 Milton
1 Cherish
2 Evan
```
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
- 前言
- chapter01_开发环境
- chapter02_字符串的使用
- chapter03_列表的使用
- chapter04_字典的使用
- chapter05_数字的使用
- chapter06_元组的使用
- chapter07_集合的使用
- chapter08_输入输出
- chapter09_控制流程
- chapter10_实例练习_登录1
- chapter11_python函数入门
- chapter12_python中的类
- chapter13_轻松玩转python中的模块管理
- chapter14_掌握学习新模块的技巧
- chapter15_通过os模块与操作系统交互
- chapter16_子进程相关模块(subprocess)
- chapter17_时间相关模块(time & datetime)
- chapter18_序列化模块(json)
- chapter19_加密模块(hashlib)
- chapter20_文件的读与写
- chapter21_阶段考核2_登录
- chapter22_小小算法挑战(排序&二分法)
- chapter23_用多线程来搞事!
- chapter24_HTTP接口请求(requests)
- chapter25_接口测试框架(pytest)
- chapter26_阶段考核3_HTTP接口测试
- chapter27_HTML解析(pyquery)
- chapter28_阶段考核4_爬虫下载网易汽车
- chapter29_python中的那些编码坑
- chapter30_MySQL数据库操作
- chapter31 高级特性_迭代器与生成器
- chapter32 高级特性_装饰器
- chapter33 高级特性_列表处理