[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">
:-: 
***微信掃一掃,關注“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 高級特性_列表處理