这篇主要来说明下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()
分别调用这两个函数得到最终的结果。
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~