python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python函数可以是一个对象,可以存放在列表中并调用

python函数也可以是一个对象,可以存放在列表中并调用方式

作者:勤奋的大熊猫

这篇文章主要介绍了python函数也可以是一个对象,可以存放在列表中并调用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python函数可以是一个对象,可以存放在列表中并调用

这篇主要来说明下python函数本身也可以是一个对象。

class PythonStudy:
    def mainProgram(self):
        i = self.test01
        i()

    def test01(self):
        print("hello!")


if __name__ == '__main__':
    main = PythonStudy()
    main.mainProgram()
"""
result:
hello!
"""

可以看到这里我们将PythonStudy类下的test01函数作为一个对象传递给了变量i,即此时变量i存储着函数test01对象。

如果我们要调用函数test01,只需要使用i()即可。

i = self.test01中的self指代的是PythonStudy类,如果不清楚,可以看一看Python中类相关的定义。

拓展:将函数对象作为列表逐个调用

代码如下:

class PythonStudy:
    def mainProgram(self):
        func_list = [self.test01, self.test02]
        for i in func_list:
            i()

    def test01(self):
        print("hello!")

    def test02(self):
        print("hallo!")


if __name__ == '__main__':
    main = PythonStudy()
    main.mainProgram()
"""
result:
hello!
hallo!
"""

可以看到这里我们将函数对象test01test02一起放置在了一个列表对象中。

之后我们使用for循环对列表中的元素进行遍历,然后使用i()分别调用这两个函数得到最终的结果。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文