python中的函数对象

    技术2022-05-20  34

    近期由于业务的需求,用python写了一个堆排序,为了能扩充应用,应该将比较运算写成可扩展的形式,也就是使用函数对象,python中的函数对象是使用特殊函数__call__这个函数实现的。

     

    __call__:

    class callable(object):

    ....: def __init__(self,n): ....: self.n=n

    ....: def __call__(self,x): ....: return self.n>x

    f=callable(10)

    f(3)

    True

    f(30) False

     


    最新回复(0)