1)if條件測試
python的比較操作
所有的python物件都支援比較操作
測試操作符('=='操作符測試值的相等性; 'is'表示式測試物件的一致性)
python中不同型別的比較方法
數字:通過相對大小進行比較
字串:按照字典次序逐字元進行比較
列表和元組:自左至右比較各部分內容
字典:對排序之後的(鍵、值)列表進行比較
python中的真假:
1、任何非0數字和非空物件都為真;
2、數字0、空物件和特殊物件none均為假;
3、比較和相等測試會遞迴地應用於資料結構中;
4、返回值為true或false;
組合條件測試:
x and y: 與運算
x or y: 或運算
not x: 非運算
注意: and或or運算會返回真或假的物件,而不是true或者false
and和or是短路操作符
例: >>>a = true
>>>print a and 'a = t' or 'a = f'
'a=t' 會返回‘a = t’,若不理解自行補充布林運算
if測試的語法控制結構
if boolean_expression1:
suite1
elif boolean_expression2:
suite2
...else:
else_suite
注意:elif、else語句均是可選的
僅用於佔位,而後填充相關語句時,可以使用pass
if/else三元表示式
if x :
a = y
else :
a = z
可以改寫成 a = y if x else z
語法格式:
expression1 if boolean_expression else expression2
(如果boolean_expression的值為true,則條件表示式的結果為expression1,否則為expression2)
2)while迴圈
用於編寫通用迭代結構
頂端測試為真即會執行迴圈體,並重復多次直到為假後執行迴圈後的其他語句
語法格式:
while bool_expression:
while_suite
else:
else_suite
注意:else分支為可選部分
只要boolean_expression的結果為true,迴圈就會執行
boolean_expression的結果為false時終止迴圈,如果有else分支,則會執行
break: 跳出最內層的迴圈;
continue: 跳到所處的最近層迴圈的開始處;
pass: 佔位語句
else**塊:迴圈正常終止才會執行;如果迴圈終止是由break跳出導致的,則else不會執行;
while迴圈語法格式擴充套件
while bool_expression1:
while_suite
if boolean_expression2:
break
if boolean_expression3:
continue
else:
else_suite
例: 使用鍵盤輸入資料到列表內,直到輸入q或quit時停止
>>>test = [ ]
>>>while true:
x = raw_input('enter an entry: ')
if x == 'q' or x == 'quit':
break
else:
3)for迴圈
用於遍歷任何有序的序列物件內的元素
可用於字串、元組、列表和其它的內建可迭代物件,以及通過類所建立的新物件
語法格式:
for expression1 in iterable:
for_suite
else:
else_suite
注意: expression或是一個單獨的變數,或是一個變數序列,一般以元組的形式給出
例:>>> t = [(1,2),(3,4),(5,6),(7,8)]
>>> for (a,b) in t:
print a,b
1 23 4
5 67 8
for迴圈形式擴充套件
語法格式:
for expression in iterable:
for_suite
if boolean_expression2:
break
if boolean_expression3:
continue
else:
else_suite
for迴圈比while迴圈執行速度快
python中提供了兩個內建函式,用於在for迴圈中定製特殊的迴圈(range或xrange 與zip)
4)range函式與zip
range:一次性地返回連續的整數列表
xrange:一次產生一個資料元素,相較於range更節約空間
zip:返回並行的元素元組的列表,常用於在for迴圈中遍歷數個序列
range函式:
非完備遍歷(用於每隔一定的個數元素挑選一個元素)
>>> range(0,10,2)
[0,2,4,6,8,10]
>>> s = 'how are you ?'
>>> for i in range(0,len(s),2):
print s[i]
h w a e y u ?
修改列表
>>> l = [1,2,3,4,5]
>>> for i in range(len(l)):
l[i]+=1
>>> print l
[2,3,4,5,6]
zip實現並行迭代
例1:>>> l1 = [ 1,2,3,4,5 ]
>>> l2 = ['a','b','c','d','e']
>>> zip(l1,l2)
[(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e')]
動態構造字典
例2: 已有 keys = [ 'x','y','z'] values = [1,2,3] 使用迴圈生成字典使其一一對應
>>> dict1 = {}
>>> keys = [ 'x','y','z']
>>> values = [1,2,3]
>>> for (k,v) in zip(keys,values):
dict1[k] = v
>>> print dict1
Python流程控制
python中的if語句是通過一條或多條語句的執行結果來決定執行的 塊。 python程式語言指定任何非0和非空 none 值為true。...
Python流程控制 一
python 提供了現代程式語言都支援的兩種基本流程控制結構,分支結構和迴圈結構 問題 如果你的年齡大於18歲可以去網咖上網。 如何實現?這...
Python流程控制語句
for while迴圈 break continue pass 練習created with rapha l 2 2 0開始ab結束 cre...