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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容