专栏首页python3Python 函数作为参数传递

Python 函数作为参数传递

#map()的功能是将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表re中。 #map通过读入的函数(这里是lambda函数)来操作数据 def test_func_map():     re = map((lambda x: x+3), [1, 2, 3, 4])     print re def testA(a, b, **kargs):     print a+b     print "testA: %s" % kargs #函数作为参数传递 def test_func(func, a, b, **kargs):     func(a, b)     print "test_func: %s" % kargs #函数作为参数传递 def test_func_lambda(func, **kargs):     func()     print "test_func_lambda: %s" % kargs def test_func_getattr():     func = getattr(obj, "testA")     func(1, 2) class TestGetattr():     aa = "2a"     def get_attr(self):         print "test getattr()"     def print_text(self):         print "print text"     def print_string(self):         print "print string" #getattr(obj, "a")的作用和obj.a是一致的,但该方法还有其他的用处,最方便的就是用来实现工厂方法 #根据传入参数不同,调用不同的函数实现几种格式的输出 def output(print_type="text"):     tg = TestGetattr()     output_func = getattr(tg, "print_%s" % print_type)     output_func() if __name__ == "__main__":     #test_func(testA, 1, 2, aa="aa")     #test_func_lambda((lambda: testA(1, 2, bb="bb")), cc="cc")     #test_func_map()     #test_func_getattr()     #getattr方法,传入参数是对象和该对象的函数或者属性的名字,返回对象的函数或者属性实例     obj = TestGetattr()     func = getattr(obj, "get_attr") #getattr()获得对象的属性和方法     func()     print getattr(obj, "aa") #完成对象的反射     print obj.aa     #callable方法,如果传入的参数是可以调用的函数,则返回true,否则返回false。     print callable(getattr(obj, "aa"))     output("string")

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Kotlin 轻量级Android开发

    它由Jetbrains创建,而Jetbrains则是诸多强大的工具(如知名的Java IDE IntelliJ IDEA)背后的公司。Kotlin是一门非常简单...

    Yif
  • Qt高级编码约定

      这是我们在编写Qt代码时使用的高级编码约定的概述。有关Qt代码规范,请参见Qt代码风格一文。对于QML,请参阅QML代码规范一文。

    Qt君
  • 数千台 iPhone 同时送出,刷屏朋友圈的纪念礼有这些黑科技

    今天,又一张图片刷爆朋友圈 ? 是的,腾讯云2019年度收入在第三季度破百亿,并且给员工推送了一个 H5,内含领取一部 iPhone 11 pro 作为纪念礼...

    腾讯云serverless团队
  • GPU加速03:多流和共享内存—让你的CUDA程序如虎添翼的优化技术!

    阅读完前两篇文章后,相信读者应该能够将一些简单的CPU代码修改成GPU并行代码,但是对计算密集型任务,仅仅使用前文的方法还是远远不够的,GPU的并行计算能力未能...

    PP鲁
  • 5000个matlab常见问题锦集的雄关路(001)

    若无特殊说明,所推送问答均来自于MATLAB Answers、Stack Overflow、matlab中文论坛、matlab中国论坛、matlab技术论坛、小...

    艾木樨
  • Python那些熟悉又陌生的函数,每次看别人用得很溜,自己却不行?

    如果您曾经发现自己在编程时一次又一次地查找相同的问题、概念或语法,那么您并不孤单。我发现自己经常这样做。我们生活在一个世界里,似乎有无限数量的可访问的。然而,这...

    HuangWeiAI
  • Python编程技巧:如何用Map, Filter, Reduce代替For循环?

    for 循环就像是一把瑞士军刀,它可以解决很多问题,但是,当你需要扫视代码,快速搞清楚代码所做的事情时,它们可能会让人不知所措。

    AI研习社
  • 告别后端,4招教你基于 Serverless 快速构建应用

    ? Serverless 架构在 IT 行业蓄势待发,并非没有道理。Serverless 架构具有缩短交付时间,简化操作和运维成本等能力,以及创造出一种革命性...

    腾讯云serverless团队
  • 腾讯云100亿元目标达成,发阳光普照奖iPhone 11 Pro,你酸了吗?

    原来这张图说的是腾讯云在 Q3 已完成 2019 年全年 100 亿元的营收目标,为此为部门所有员工奖励每人一部iPhone 11 Pro 新款手机。据内部人士...

    AI科技大本营
  • 【Rust每周一库】lettre - 功能强大的邮件库

    本期每周一库来介绍一个和发送邮件相关的库,库的名字使用了法语的信笺(lettre)作为名字。

    MikeLoveRust

扫码关注云+社区

领取腾讯云代金券