python學習-assert,lambda,filter的用法及作用

assert 斷言
  • 使用assert斷言是個好習慣
  • 在沒完善一個程序之前,我們不知道程序在哪里會出錯,與其讓它在運行最崩潰,不如在出現錯誤條件時就崩潰,這時候就需要assert斷言的幫助。
  • assert異常參數:在斷言表達式后添加字符串信息,用來解釋斷言并更好的知道是哪里出了問題
  • assert用法
    assert 表達式 [, 異常提示字符串]
  • 示例如下:
    assert type(users) == list #斷言users對象的類型為list
    assert len(users) >5 #斷言users對象的元素個數大于5
  • assert異常時,會報AssertionError錯誤,其后會帶上斷言時的異常參數,這樣方便排查出問題的地方。


    Paste_Image.png
lambda
  • 函數格式:
    lambda [parameters]: commands
  • 函數功能:
      lambda創建匿名函數,而用def創建的方法是有名稱的,它是一個表達式。優點:省去定義函數的過程,不需要考慮命名問題。
  • 命令實例:

直接使用  
print(lambda x:x+1(1)) #輸出2,(1)是給x復制
帶1個參數  
func1 = lambda x:x*2
print(func1(3)) #結果為6
帶多個參數(可以初始化參數)
func2 = lambda x,y,z=1: x+y+z
print(func2(2,3)) #結果為6
print(func2(2,3,4)) #結果為9

filter()
  • filter()為已知的序列的每個元素調用給定的布爾函數,調用中,返回值為非零的元素將被添加至一個列表中

  • filter()用法:
    filter(bool_function,list_arr |tuple_arr|set_arr)
    *示例:
    def getbigdata(x):
    if x>20:
    return True
    else:
    return False
    L = [1,2,4,5,35,8,22,11,29,81]
    big_L = filter(getbigdata,L)
    print(list(big_L))

    T = (16,20,45,5,35,8,22,11,29,81)
    big_T = filter(getbigdata,T)
    print(list(big_T))
    
    S = {16,20,45,5,35,8,22,11,29,81,1012}
    big_S = filter(getbigdata,S)
    print(list(big_S))
    
  • 輸出結果


    Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容