• Python中高阶函数


    1,datetime使用方法

    #时间函数datetime

    from datetime import datetime

    datetime.now()       

    #打印当前时间,输出datetime.datetime(2022, 7, 25, 23, 56, 20, 341749)

    print(datetime.now())       

    #打印当前时间,输出2022-07-25 23:56:33.673915

    2,isinstance函数

    接受两个参数,作用是判断数据的数据类型。

    3,filter函数

    filter(a,b)

    #a为函数,b为将要处理的数据列表

    #对b中每个元素,在a中进行判断,如果结果为真则保留,结果为假则舍弃

    4,map函数

    map(a,b)

    #a是函数,用来处理b参数

    #b是可迭代对象,例如字典、列表等

    1. #例:
    2. b = [1,4,7,'dc',3.4] #b作为待处理列表(或其他可迭代对象)
    3. def a(i):
    4.         if isinstance(i,int): #如果i是整型,则返回真(True)
    5.                 return True
    6.         else: #i不是整型,则返回假(False)
    7.                 return False

    5,reduce函数

    reduce(a,b)

    #a是函数,用来处理b中的元素

    #b是可迭代对象

    map和reduce的区别:

    1>,reduce中a函数对b列表进行积累处理;

    2>,reduce需导入(from functools import reduce).

     6,lambda匿名函数

    a = lambda x: x**2

    a(5)

    #返回5的平方

    7,partial函数

    partial 函数接受两个参数,第一个参数为原函数名,第二个参数为原函数中的默认参数,partial 函数的返回值就是一个我们需要的新函数。

    1. from functools import partial
    2. def a(x,y):
    3. return x**y #返回x的y次方
    4. demo = partial(a,y=4)
    5. #通过partial将y的默认值定义为4,此时的demo就是需要的新函数
    6. print(demo(2)) #返回2的4次方
    7. print(demo(2,y=3)) #这里如果要自己定义y的值,就需要写成"y=..."

     ------------------------------------------------------------------------------------------------------------------------------------------

    可迭代对象

    Python 中,可迭代(Iterable)对象就是能用 for 循环迭代它的元素。

    迭代器

    能用 next 函数不断的去获取它的下一个值,直到迭代器返回 StopIteration异常。所有的可迭代对象都可以通过 iter 函数去获取它的迭代器。

    迭代器实现的是__iter__和__next__这两个特殊方法。

    上图例子相当于:

    1. class Test:
    2. def __init__(self, a, b):
    3. self.a = a
    4. self.b = b
    5. def __iter__(self):
    6. return self
    7. def __next__(self):
    8. self.a += 1
    9. if self.a > self.b:
    10. raise StopIteration()
    11. return self.a
    12. test = Test(0, 5) # Test 类的实例就是迭代器
    13. print(next(test)) #输出1
    14. print(next(test)) #输出2
    15. #代码借阅

     可迭代对象和迭代器的区别:能被 for 循环访问的都是可迭代对象,能被 next 函数获取下一个值的是迭代器。

  • 相关阅读:
    【Azure Developer】App Service + PubSub +JS 实现多人版黑客帝国文字流效果图
    对于程序员来说,怎样才算是在写有“技术含量”的代码?
    Vue真实技术面试题解析【兄弟组件、vue-router、增量部署】
    第十八天最大加号标志
    前端三剑客 - CSS
    MLX90640 红外热成像仪测温传感器 手机 APP 软件 RedEye 连接详细
    基于遗传算法的柔性车间调度优化(Matlab代码实现)
    云服务器ECS价格表出炉_2024年最新价格表——阿里云
    搭建Hyperledger Fabric2.x环境
    Python—3.2、函数高级篇
  • 原文地址:https://blog.csdn.net/m0_67601373/article/details/125985830