python 流程控制之if語句
if 條件測試表示式
python 的比較操作
所有的python 物件都支援比較操作
1,可用於測試相等性,相對大小等。
2,如果是復合物件,python會檢查其所有部分,包括自動遍歷各級巢狀物件,直到可以得出最終結果。
測試操作符
1,"==" 操作符測試值的相等性
2,「is」 表示式測試物件的一致性
python中不同型別的比較方法
1,數字:通過相對大小進行比較
2,字串:按照字典次序逐字進行比較
3,列表和元組:自左至右比較各部分內容
4,字典:對排序之後的(鍵,值)列表進行比較
python中真和假的含義
1,非零數字為真,否則為假
2,非空物件為真,否則為假
3,none則始終為假
組合條件測試
x and y :與運算
x or y:或運算
not x :非運算
1,and
2, or
3, not:返回true 或 false
注意:python 中,and 和 or 運算會返回真或假的物件,而不是true或false
1, 物件在本質上不是"真",就是"假"
and 和 or 是短路操作符
if 測試的語法結構
1, if boolean_expression1:
suite1
2, elif boolean_expression2:
suite2
…3,else:
else_suite
4,elif:語句是可選的
5,僅用於佔位,而後再填充相關語句時,可以使用pass
if/else 三元表示式
a = x if y else z
表達的意思是:當 y 表達是的條件滿足了,則a 等於 x
否則 a 就等於 z
a = 7
b = 9
if a > b:
a = y
else :
a = z
賦值方式:
a = 7
b = 9
比如: max = a if a > b else b
其通用條件表示式語法格式為:
expression 1 if boolean_expression else expression2
如果boolean_expression的值為true ,則條件表示式的結果為 expression1,否則為expression2
print max
輸出結果為 9
python 流程空的while 和 for迴圈
while 迴圈
1,用於編寫通用迭代結構
2,頂端測試為真,即會執行迴圈體,並會重複多次測試知道為假後執行迴圈後的其它語句
for 迴圈
1,乙個通用的序列迭代器,用於遍歷任何有序的序列物件內的元素
2,可用於字串,元組,列表和其它的內建可迭代物件,以及通過類所建立的新物件
python也提供了一些能過進行隱性迭代的工具
1,in 成員關係測試
2,列表解析
3,map,reduce 和filter 函式
while 迴圈
語法格式:
while boolean_expression:
while_suite
else:
else_suite
1, else 分支為可選部分
2, 只要boolean_expression的結果為true ,迴圈就會執行;
3, boolean_expression的結果為false時終止迴圈,此時如果有else分支,則會執行。
while :
while bool_expression:
while_suite
else:
else_suite
break:跳出最內層的迴圈;
continue:跳到所處的最近層迴圈的開始出;也就是下乙個迴圈
pass:點位語句
else **塊:迴圈正常終止才會執行;如果迴圈終止是由break 跳出導致的,則else不會執行;
for 迴圈
for expression1 in iterable(可迭代物件):
for_suite
else :
else_suite
1,通常,expression或是乙個單獨的變數,或是乙個變數序列,一般以元組的形式給出。
2,如果以元組或列表用於expression,則其中的每個資料項都會拆分到表示式的項,
例如:t=[(1,2),(3,4),(5,6),(7,8)]
for (a,b) in t:
print a,b
xrange 跟 range 的區別
xrange 會乙個乙個的吐出乙個值
range 會先生存乙個序列出來
一, for 迴圈比while 迴圈執行速度快
二, python 提供了兩個內建函式,用於在for 迴圈重定製特殊的迴圈
1,range 或 xrange
range :一次性地返回連續的整數列表
xrange : 一次產生乙個資料元素,相較於range更節約空間
2,zip
返回並行的元素元組的列表,常用於在for迴圈重遍歷數個序列
1)。取得乙個或多個序列為引數,將給定序列中的併排的元素配成元組,返回這些元組的列表
當引數長度不同時,zip會以最短序列的長度為準
2)。可在for迴圈重用於實現並行迭代
l1 = [1,2,3,4,5,6,7]
l2 = ['a','b','c','d','e','f','g']
zip(l1,l2)
此為輸出結果: [(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e'),(6,'f'),(7,'g')]
3) 。zip也常用語動態構造字典
keys = [1,2,3,4,5,6,7]
values = ['mon','tus','wed','thu','fri','sat'.'sun']
d = {}
for (k,y) in zip (keys,values):d[k] = y
4) 。產生偏移後的記過
elif boolean_expression:
...else
...3, while
while boolean_expression:
while_suite
if boolean_expression2:continue
if boolean_expression3:break
else:
else_suite
4, for
for expression in object
for_suite
if boolean_expression2:continue
if boolean_expression2:break
else:
else_suite
死迴圈:while true:
…例子:
in [89]: test=
in [90]: while true:
x = raw_input('enter an entry:')
if x == 'q' or x == 'quit':
break
else:
python硬體控制 python控制硬體嗎
simplifieddisplay new infocard newcard card search infocard bannerurl title visual datalist scenecard txt page context simplifieddisplay new infocard ...
控制流程語言
var workage 0 var str var b if b elsevar option a var a a var score 98 switch option if switch switch語句的特殊之處 case後面可以跟常量與變數或者是表示式。while count 5 num wh...
python的控制語句
從上到下順序執行 if 表示式 語句if 表示式 語句else 語句if 表示式 語句elif 表示式 語句else 語句注意 在python裡面不支援switch語句,如果想實現switch的效果,第一種方法就是使用if elif.elif.else c maxnum a b?a b python...