assert 断言
- 使用assert断言是个好习惯
- 在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。
- assert异常参数:在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题
- assert用法
assert 表达式 [, 异常提示字符串] - 示例如下:
assert type(users) == list #断言users对象的类型为list
assert len(users) >5 #断言users对象的元素个数大于5 -
assert异常时,会报AssertionError错误,其后会带上断言时的异常参数,这样方便排查出问题的地方。
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))
-
输出结果