# 习题1:
假设Python没有提供map()函数,请自行编写一个my_map()函数实现与map()相同的功能。
def my_map(my_fun,my_list):
l= []
for s in my_list:
l.append(my_fun(s))
return l
# 高手的代码就是简洁啊
def my_map2(my_fun,my_list = []):
return [my_fun(s) for s in my_list]
# 习题2:
Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积。
def my_reduce(my_list):
def multiplication(x,y):
return x * y
return reduce(multiplication,my_list)
print(my_reduce([1,2,3,4,5]))
# 习题3:
请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call'的日志。
再思考一下能否写出一个@log的decorator。
使它既支持: