秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者作为参数传递。

函数作为参数传递

函数可以作为一个对象,进行参数传递。函数名(比如func)即该对象。比如说:

def test(f, a, b):print 'test'print f(a, b)test(func, 3, 5)

test函数的第一个参数f就是一个函数对象。将func传递给f,test中的f()就拥有了func()的功能。

参考:https://github.com/Vamei/Python-Tutorial-Vamei/blob/master/content/intermediate07.md

栗子:

其中youku_downloadyouku_download_playlist都是函数
来自:https://github.com/iambus/youku-lixian/blob/master/youku.py

Python之函数对象作为参数相关推荐

  1. python中函数的可变参数_Python中函数的参数定义和可变参数

    转自:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944416.html 刚学用Python的时候,特别是看一些库的源码时,经常会看到fun ...

  2. Python之函数对象

    python中,一切皆对象. 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性 ...

  3. python 返回函数对象_Python—函数对象与闭包

    一 函数对象 函数对象指的是函数可以被当做"数据"来处理,具体可以分为四个方面的使用. 1.1 函数可以被引用 def index(): print('from index') a ...

  4. Python的函数名作为参数传入调用以及map、reduce、filter

    零.python的lambda函数: 1 #lambda function 2 func = lambda x : x+1 3 #这里是一个匿名函数,x是参数,x+1是对参数的操作 4 func(1) ...

  5. Python 中函数的 收集参数 机制

    定义函数的时候,在参数前加了一个 * 号,函数可以接收零个或多个值作为参数.返回结果是一个元组. 传递零个参数时函数并不报错,而是返回一个空元组.但以上这种方法也有局限性,它不能收集关键字参数. 对关 ...

  6. Python之函数的收集参数和分配参数用法(‘*’ 和 ‘**’)

    前言 学过 C 或 C++的童鞋看到'*'的第一反应就是"指针",继而在学习 Python 的时候,也看到同样的星号,本以为对这家伙很熟悉,不过,真正了解 Python 中的&qu ...

  7. python中函数的可变参数_简单谈谈Python中函数的可变参数

    前言 在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数. ...

  8. python 返回函数对象_返回函数

    函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_sum(*args): ax = ...

  9. python 定义函数时,参数和返回值的数据类型注释

    """ a:int 表示添加a的数据类型注释,但事实上就算传入a的值不是int类型也不会报错,可以正常运行; 但编译器会警告. b:int = 5 表示添加b的数据类型注 ...

最新文章

  1. iPhone 14 与iPhone 13
  2. Matplotlib绘制象限图——支持中文、箭头、自定义轴线交点
  3. 偶然发现的QQ的一个挺讨厌的BUG
  4. Silverlight C# 游戏开发:游戏循环体的五种设计方式
  5. ListView设置EmptyView之后不显示
  6. 图像的灰度级和动态范围(转)
  7. Spark RDD Transformation
  8. 【bzoj2759】一个动态树好题
  9. 这个机器人花盆,给你的植物长了脚脚
  10. 计算机网络八校联考试题,2019届高三信息技术3月联考试卷有解析与答案
  11. asp.net跳转页面的三种方法比较
  12. Invalid prop: type check failed for prop “index“. Expected String with value “145“...
  13. 分享112个留言聊天PHP源码,总有一款适合你
  14. android 截图工具 mac,在Mac上截屏的三种方法 | MOS86
  15. 微信群二维码活码生成源码
  16. 第九讲:工业网络——搭建单环冗余网络
  17. [转载] 360分布式存储系统Bada的设计和应用
  18. 修改数据库安装的服务器 系统时间,修改数据库服务器的操作系统时间
  19. shader拖尾_u3d拖尾特效组件-------TrailRenderer
  20. RMON MIB:远程监控管理信息库

热门文章

  1. Ubuntu18.04 python环境搭建 pycharm+anaconda3+Pyqt5
  2. 的it生活_比起最近热议的996,中年IT人的生活才是水深火热
  3. 2020-09-02 微信小程序账号冻结找回
  4. codefroces 601A 题意唬人的最短路
  5. 系统及服务器巡检流程图,巡检日常工作流程图
  6. 塑化行业采购商城网站规范企业采购流程,提高采购效率
  7. postcss-px-to-viewport插件教程和适配问题(移动端和PC端)
  8. 360加固包加固出现的问题
  9. 3288 蓝牙耳机没有声音输入
  10. unity3d 获取动画进度