Python Python流程控制

2022-06-14 21:06:10 字數 3508 閱讀 2308

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...