# 條件真假情況如下: # 布林型別:True為真,False為假 # 對於數字:0或0.0當作假,其它為真 # 對於其它型別,物件為空時為假,其它情況為真,比如:""空字串、[]空列表、()空元組、{}空字典、None空值。 # pass語句,讓直譯器跳過此處,什麼都不做 a = 10 if 10 == a: pass else: print("a != 10") # assert 斷言語句,表示式的值為真,則繼續往下執行,反之會報AsserttionError錯誤 # 格式:assert 表示式 '''相當於 if 表示式 == True: 程式繼續執行 else: 程式報AssertionError錯誤 ''' a = 10 assert 10 == a print("表示式為真") # for迴圈,常用於遍歷字串、列表、元組等序列 str1 = "12345" for a in str1: print(a,end=' ') print() # 內建函式 range(start,stop[,step]) 常用於遍歷數字序列,該函式可以生成算術級數 for a in range(5):# range(5)等價於range(0,5) print(a,end=' ') print() # for迴圈遍歷字典時,遍歷的時鍵值 dict1 = {'one':1, 'two':2, 'three':3} for a in dict1:# 相當於 for a in dict1.keys(): print(a,end=' ') print() # 迴圈結構中else的使用 num = 0 while num < 5: print(num,end=' ') num+=1 else:# 當迴圈條件為False時,執行else的程式碼,然後跳出迴圈(for迴圈同樣適用) print("end") # 迴圈巢狀(乘法表) for a in range(1,10): for b in range(1, a+1): print("%2d *%2d =%2d" %(a,b,a*b),end='') print() # 巢狀迴圈(冒泡) date = [5, 8, 4, 1] num = len(date) for i in range(num-1): for j in range(i+1, num): if date[i] > date[j]: date[i], date[j] = date[j], date[i] print(date) # break 跳出本層迴圈 str1 = "break跳出本層迴圈,continue跳出本次迴圈" for char in str1: if ',' == char: break print(char,end='') print('-結束') # continue 跳出本次迴圈 str1 = "break跳出本層迴圈,continue跳出本次迴圈" for char in str1: if ',' == char: continue print(char,end='') print("-結束") # python推導式,快速格式化各類序列 # 列表推導式 # [表示式 for 迭代變數 in 可迭代物件 [if 條件表示式]] list1 = [i*i for i in range(5)] print(list1) # 巢狀的列表推導式 list1 = [(x, y) for x in range(5) for y in range(4)] print(list1) '''等價於 list1 = [] for x in range(5): for y in range(4): list1.append((x, y)) ''' # 元組推導式 # (表示式 for 迭代物件 in 可迭代物件 [if 條件表示式]) ob = (i for i in range(5)) # 元組推導式生成的結果並不是一個元組,而是一個生成器物件 print(tuple(ob)) # 字典推導式 # {表示式 for 迭代物件 in 可迭代物件 [if 條件表示式]} list1 = ['123','1234','12345'] dict1 = {key:len(key) for key in list1} print(dict1) # 集合推導式 # {表示式 for 迭代物件 in 可迭代物件 [if 條件表示式]} set1 = {i for i in range(5)} print(set1) # zip()函式,將序列中對應的元素重新組合,生成一個新的元組 list1 = [1,2,3] tuple1 = (4,5,6) print([i for i in zip(list1,tuple1)]) # reversed()函式,將序列中元素逆序 print([i for i in reversed([1,2,3,4])]) print([i for i in reversed(range(5))]) print(list(reversed(range(6)))) # sorted()函式,對序列進行排序,返回排序好的列表 # list = sorted(iterable, key=None, reverse=False) 預設Flase升序,False降序 list1 = [5,4,2,1,3] tuple1 = (5,4,2,1,3) set1 = {5,4,2,1,3} str1 = 'badc' print(sorted(list1)) print(sorted(tuple1,reverse=True)) print(sorted(set1)) print(sorted(str1))