要求:取包含-10到9的列表,的再用 filter 和 lambda 实现结果为 [6, 7, 8, 9]
代码:
l = range(-10,10)
assert filter(lambda item: item>=6, l) == [6, 7, 8, 9]
要求:定义一个方法get_name(a),a参数为任意一个函数对象,判断函数是否可以调用,
如果可调用,则返回该函数名(断言类型为str),否则返回 “Error."。
代码:
def is_callable(func):
if callable(func): #判断函数是否可调用
name = func.__name__ #取可调用 函数的名称(字符串)
assert type(name) == str
else:
name = 'error.'
return name
#=======================
测试
assert is_callable(dir) == 'dir' #测试系统方法
assert is_callable(is_callable) == 'is_callable' #测试自写方法
assert is_callable(1234) == 'error.' #测试不可调用方法
a = 'abcdcd'
assert is_callable(a) == 'error.'
阅读(840) | 评论(0) | 转发(0) |