翼度科技»论坛 编程开发 python 查看内容

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

9

主题

9

帖子

27

积分

新手上路

Rank: 1

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

这篇主要来说明下
  1. python
复制代码
函数本身也可以是一个对象。
  1. class PythonStudy:
  2.     def mainProgram(self):
  3.         i = self.test01
  4.         i()

  5.     def test01(self):
  6.         print("hello!")


  7. if __name__ == '__main__':
  8.     main = PythonStudy()
  9.     main.mainProgram()
  10. """
  11. result:
  12. hello!
  13. """
复制代码
可以看到这里我们将
  1. PythonStudy
复制代码
类下的
  1. test01
复制代码
函数作为一个对象传递给了变量
  1. i
复制代码
,即此时变量i存储着函数
  1. test01
复制代码
对象。
如果我们要调用函数
  1. test01
复制代码
,只需要使用
  1. i()
复制代码
即可。
  1. i = self.test01
复制代码
中的
  1. self
复制代码
指代的是
  1. PythonStudy
复制代码
类,如果不清楚,可以看一看
  1. Python
复制代码
中类相关的定义。

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

代码如下:
  1. class PythonStudy:
  2.     def mainProgram(self):
  3.         func_list = [self.test01, self.test02]
  4.         for i in func_list:
  5.             i()

  6.     def test01(self):
  7.         print("hello!")

  8.     def test02(self):
  9.         print("hallo!")


  10. if __name__ == '__main__':
  11.     main = PythonStudy()
  12.     main.mainProgram()
  13. """
  14. result:
  15. hello!
  16. hallo!
  17. """
复制代码
可以看到这里我们将函数对象
  1. test01
复制代码
  1. test02
复制代码
一起放置在了一个列表对象中。
之后我们使用
  1. for
复制代码
循环对列表中的元素进行遍历,然后使用
  1. i()
复制代码
分别调用这两个函数得到最终的结果。

总结

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

来源:https://www.jb51.net/python/3161839x6.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具