高阶函数及装饰器

本文详细介绍了Python中的高阶函数map、reduce、filter和sorted的使用,通过实例展示了如何处理数据。此外,还探讨了装饰器的概念,包括普通装饰器和带有参数的装饰器,以及它们在函数执行时间统计上的应用。最后,文章提到了装饰器在权限控制中的应用场景。
摘要由CSDN通过智能技术生成

内置高阶函数_map_reduce

高阶函数: 实参可以是一个函数; 返回值可以是一个函数;
普通函数:
# 函数定义:
        def 函数名(形参):   def add(a, b):
            函数体
            return 返回值   return 1
# 调用函数;
    函数名(实参)     add(1,2)
    print(函数名(实参) )
# print(abs(-5))
# a = abs
# print(a(-5))
# 内置高阶函数
# 1. map函数理解
from collections import Iterable
# def func(x):
#     return x**2
# f = map(func, [0,1,2,3,4])
# # print(isinstance(f, Iterable))
# for i in f:
#     print(i)
# 1. map函数练习
# 需求: 用户接收一串数字; '1 3 5 7 8', 将该字符串中的所有数字转化为整形,并以列表格式输出;
s = '1 3 5 7 8'
# a, b, c, d, e = list(map(int, s.split()))
# print(a,e)

print([int(i) for i in s.split()])


# reduce: python2.x有, python3.x取消
# reduce在python3.x不是内置高阶函数, 而是需要导入from functools import reduce;
# In [2]: def add(x,y):
#    ...:     return x+y
#    ...:
# In [3]: reduce(add, [1,2,3,4,5,6])
# Out[3]: 21
# In [4]: (((1+2)+3)+4)
# from functools import reduce
# # def add(x,y):
# #     return x+y
# # print(reduce(add, range(5)))
# # 需求: 用户输入数字n; 求n的阶乘;  5!= 1*2*3*4*5
# def func(x,y):
#     return x*y

# print(reduce(func, range(1,6)))   # func(func(1,2),3)

高阶函数_filter_sorted

# filter高阶函数: filter(func, iterable)
#   1. func: 只有一个形参, 函数的返回值只能是True或者False;
def isodd(num):
    if num %2 == 0:
        return True
    else:
        return False
print(list(filter(isodd, range(10))))
def isPrime(num):
    pass
print(list(filter(isPrime, range(1000))))

# sorted:
# 排序: 由大到小
print(sorted([23,56546,78]))

# 排序: 由小到大, reverse=True, 代表排序后进行反转;
print(sorted([23,56546,78], reverse=True))

info = [
    ['001', 'apple', 1000, 2],
    ['002', 'xiaomi', 10, 2000],
    ['003', 'Op

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值