杠我的人最倒霉 发表于 2024-2-25 05:14:39

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 =
      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!
"""可以看到这里我们将函数对象test01与test02一起放置在了一个列表对象中。
之后我们使用for循环对列表中的元素进行遍历,然后使用i()分别调用这两个函数得到最终的结果。

总结

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

来源:https://www.jb51.net/python/3161839x6.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python函数也可以是一个对象,可以存放在列表中并调用方式