• 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 函数获取下一个值的是迭代器。

  • 相关阅读:
    消失的“金九银十” 互联网的下一个五年在哪里?
    [matlab]cvx安装后测试代码
    帐号授权助力软件产业打造独有商业优势
    LeetCode --- 1417. Reformat The String 解题报告
    Kotlin或将超越Go?
    【PyQt5图形界面编程(4)】:界面开发
    C++二分算法:找到最接近目标值的函数值
    leetcode刷题(133)——剑指 Offer 07. 重建二叉树
    nnDetection复现Luna16 附模型
    微信小程序接口调用凭证(获取token)auth.getAccessToken接口开发
  • 原文地址:https://blog.csdn.net/m0_67601373/article/details/125985830