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

来自:网络
时间:2024-03-18
阅读:
免费资源网 - https://freexyz.cn/

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()分别调用这两个函数得到最终的结果。

总结

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

免费资源网 - https://freexyz.cn/
返回顶部
顶部