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! """
可以看到这里我们将函数对象test01
与test02
一起放置在了一个列表对象中。
之后我们使用for
循环对列表中的元素进行遍历,然后使用i()
分别调用这两个函数得到最终的结果。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。