函数的调用

article/2025/9/24 1:04:07

接着

https://blog.csdn.net/jcf52/article/details/123213269https://blog.csdn.net/jcf52/article/details/123221654

来到了函数进阶:  

一.间接调用函数

1.调用函数有直接使用函数名加参数列表的的形式调用,测量这种方式,还可以使用将函数名赋值给一个变量,再通过变量名加形参列表的方式进行间接的调用函数。

例子:

def fun(n):if n == 0:print("0")sum = 1for i in range(1,n+1):  #range范围sum =i*sumprint("计算阶乘%s值为:%s" % (n, sum))
s = int(input("请输入你想计算的数字阶乘:"))
r = fun
r(s)
fun(s)

 现在呢学习一个新的!

2.一个函数作为另一个函数的参数

代码如下:

def output(mess):print(mess)def test(func,arg):func(arg)
test(output,"hhhh")

            3.函数名作为其他数据类型的元素

def print_out(mess):print(mess)list = [(print_out,"hhh"),(print_out,"love")]
for (fun,val) in list:fun(val)

 二.匿名函数

指函数是没有函数名称的,临时使用的微函数。使用 lambda 表达式

 来声明,语法格式如下:

lambda [arg1 arg2 , ... , argn] : 表达式

应用场景:如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化

注意:1.[arg1 ,arg2 , ... , argn ] 为函数的参数列表,可有可无

           2.表达式: 表示函数体,必须有返回值

           3.lambda 表达式只可以包含一个表达式,计算结果可看作是一个函数的返回值。

           4.虽然不允许包含复杂的语句,但表达式可以调用其它函数。

例子:

sum = lambda num1, num2: num1 + num2
print(sum(4, 9))

 解释:使用lambda 表达式声明匿名函数并赋值给sum,想等于这个函数有了函数名sum

相当于:

def sum(num1, num2):return num1 + num2

2.lambda 表达式声明的匿名函数,也可以作为自己定义函数的实参

def fun(num1, num2, func):return func(num1, num2)
print(fun(5, 4, lambda num1, num2: num1 + num2))
print(fun(5, 4, lambda num1, num2: num1 - num2))

3.带判断的lambda 

fun = lambda  a,b:a if a>b else bprint(fun(20,22))

 4.lambda 表达式声明的匿名函数,也可以作为内建函数的实参

再这里引申一个内置函数 sorted:

5.lambda 表达式声明的匿名函数,也可以作为列表或字典的元素

power = [lambda x:x**2,lambda x:x**3,lambda x:x**4]print(power[0](2),power[1](2),power[2](2))lv = {1:lambda x:print(x),2:lambda x = "回头科科":print(x)}
lv[2]()
lv[1]("欢迎您")

 

仔细体会这个很有意思。

大家可以讨论一下power[0](2)怎么来的,哈哈哈哈


http://chatgpt.dhexx.cn/article/cGV0aaXb.shtml

相关文章

C语言——如何调用函数

C语言——如何调用函数 一、案例: 二、函数的认知 #include <stdio.h> #include <stdlib.h>int prepare() {printf("出门前准备\n");printf("洗漱\n");printf("穿衣\n");return 0; }int onTheRoad() {printf("在路上\n…

3+1活动:结交一个朋友、参与一项运动 、培养一个兴趣爱好 、阅读一本好书

做一个热爱生活的人从31开始 结交一个朋友、参与一项运动 、培养一个兴趣爱好 、阅读一本好书 结交一个朋友 参与一项运动 培养一个兴趣爱好 阅读一本好书

Nature综述:培养未被培养微生物的创新方法

对于培养未被培养的大多数微生物的创新 Innovations to culturing the uncultured microbial majority Nature Reviews Microbiology [IF: 60.633] DOI&#xff1a;https://doi.org/10.1038/s41579-020-00458-8 发表日期&#xff1a;2020-10-22 第一作者&#xff1a;William H.…

自学系列 | 就谈兴趣!

最近接到很多读者的私信&#xff0c;基本都是有关方向的选择上以及如何自学上&#xff0c;还有部分读者问到有关前端的方向&#xff0c;能不能详细写写如果从零学习&#xff0c;能够达到找工作的标准。而且这个自学能力是我们一辈子的生存技能&#xff0c;无论干什么&#xff0…

Nature综述:未培养微生物的新兴培养技术

摘要 尽管近年来微生物基因组数据激增&#xff0c;但通过基于培养的实验对于证实细胞生物学、生态作用和微生物进化的推论仍然十分重要。目前绝大多数古菌和细菌仍难以培养且对其特性了解不够充分&#xff0c;因此研究者们对高效的培养学方法愈加重视&#xff0c;这也加快了许多…

火爆全网,495页《看漫画学Python》全彩PDF免费分享,入门编程培养兴趣首选

在当下全民互联网&#xff0c;大数据的时代&#xff0c;Python已然成为了学习大数据、人工智能时代的首选编程语言&#xff0c;Python因上手简单被越来越多的人所喜爱&#xff0c;近几年更是在各类语言使用排行榜中稳居第一&#xff0c;而且每年是用人数还在直线上升。 但是对…

团队管理21--梯队培养

本文来谈一下我对梯队培养的理解&#xff0c;希望对大家有启发。 梯队培养是我们在团队管理中经常遇到的难题之一&#xff0c;很多管理者都是因为梯队培养不到位而导致团队漏洞百出&#xff0c;工作大受影响。我们建梯队最主要的目的是提高整个团队的战斗力和抵抗力。所谓战斗…

[ 和你一起终身学习]---家长也是需要学习,需要成长的

[ 和你一起终身学习]---家长也是需要学习,需要成长的 一,序言 每一个的成长过程中,都需要不断的学习,更新自己的大脑,就行常用的软件需要不断的更新版本一下,孩子需要在成长的过程中,不断的认识世界,但是作为父母亲,也是要不断的学习,提升认知的. 下面是一孩子家长会后记录的总…

计算机兴趣班学什么好处,电脑兴趣班教学工作计划

电脑兴趣班教学工作计划 信息技术是一门讲究操作性和实践性的课程&#xff0c;六年级信息技术教学应注重培养孩子的动手操作实践能力&#xff0c;达到手脑并用&#xff0c;同步发展。那么具体的教学工作计划怎么制定呢&#xff1f;下面是小编带来关于电脑兴趣班教学工作计划&am…

学习Python想放弃,因为你没有培养自己的兴趣!

大家好&#xff0c;我是菜鸟哥&#xff01; 周末啦&#xff0c;跟大家聊一下我们粉丝团的情况。最近陆陆续续很多粉丝加我的微信&#xff0c;咨询一些学习的问题: 有的问&#xff0c;我已经35岁了&#xff0c;开始学Python编程还来的及吗&#xff1f;有的问&#xff0c;我买了很…

刨根问底(一):从INode客户端看如何培养兴趣

强烈推荐一个大神的人工智能的教程&#xff1a;http://www.captainai.net/zhanghan 前言&#xff1a; 好消息&#xff1a;本人姓张&#xff0c;名小二&#xff0c;性别男&#xff0c;今天正式开通刨根问底系列&#xff0c;望大家以后多多关照。 关于兴趣这个东东在网络天地系列…

刨根问底(二):从INode客户端看如何培养兴趣 (续)

强烈推荐一个大神的人工智能的教程&#xff1a;http://www.captainai.net/zhanghan 背景&#xff1a; 自从4月22号撰写了——《刨根问底&#xff1a;从INode客户端看如何培养兴趣》到今天过去三个月多了&#xff01;无论是评论&#xff0c;邮件还是当面交流&#xff0c;好多人…

VS2015性能分析过程

原文转载于:https://blog.csdn.net/luoweifu/article/details/51470998 上一篇文章带你玩转Visual Studio——VC的多线程开发讲了VC中多线程的主要用法。多线程是提升性能和解决并发问题的有效途经。在商用程序的开发中&#xff0c;性能是一个重要的指标&#xff0c;程序的性能…

吉林大学数据库系统概念2015年期末试题自做答案

简答题 1数据库中常用的完整性约束包括哪些&#xff1f; 答&#xff1a;not null unique check primary key foreign key 2简述数据库系统与文件系统的主要区别。 答&#xff1a;参考课本19页1.8 这两个系统都包含了数据集合和一组程序。数据库协调数据的物理和逻辑访…

2015年CSDN博客排名第一名,何方神圣?

2015年CSDN博客排名第一名&#xff0c;何方神圣&#xff1f; 一、引子&#xff1a; 话说博主phphot&#xff0c;雄霸天下好多年。 俱往矣&#xff0c; 落花流水春去也。 斗转星移&#xff0c;江山易主。 详细可以参见下文&#xff1a; CSDN博客排名第一名&#xff0c;何许人也 …

【转】85张PPT湖南2015年IPTV业务运营数据报告

导语 2015年&#xff0c;湖南IPTV以强势的芒果内容战略,精致的平台运营策略&#xff0c;流畅的技术产品体验&#xff0c;亲切的品牌市场形象&#xff0c;走进了248万个湖南家庭&#xff0c;全年收视次数高达42亿! 直播、回看、点播、综艺、影视、少儿&#xff0c;全屏加速&am…

传智播客 刘意_2015年Java基础视频-深入浅出精华版 笔记(2015年10月25日23:28:50)

day01 win 7系统打开DOS有趣方法&#xff1a;按住shift右键&#xff0c;单击“在此处打开命令窗口”(注意&#xff1a;在此处可以是任何的文件夹&#xff0c;不一定是桌面) 用DOS删除的文件不可以在回收站恢复&#xff1f;&#xff01;&#xff01; 常用DOS命令 d: 回车 盘符切…

2015 2020 r4烧录卡 区别_【2015年和2020年上半年市场资金结构有何差异?】东北证券金融工程择时周报20200802...

0摘要 观点综述&#xff1a;2017年以来公募基金摒弃了以往广撒网的方式&#xff0c;反而开始抱团&#xff0c;虽然基金发行、股票发行的数量增加&#xff0c;但是公募基金十大重仓股的个数却是不断降低的。这也就和我们当前的存量市场格局所呼应。在没有新增资金的存量格局之下…

VS2015+Qt5.8 联合配置

&#xff08;第一种&#xff09;VS2015Qt5.8 x86环境搭建 2018年10月16日 18:59:32 废柴Panda_M 阅读数&#xff1a;166 最近用一套别人的代码&#xff0c;发现库都是各种32位的&#xff0c;于是卸载了我辛辛苦苦下载的VS 2017和Qt5.9&#xff0c;重新弄。对应2017版本的Qt似…

2015年动画电影观影指南

整个2014年的全球动画电影市场比较平稳&#xff0c;在美国动画相对疲软的同时&#xff0c;亚洲的老牌动画强国日本与新兴崛起的中国&#xff0c;反而更为活跃&#xff0c;近30部国产动画在院线上映&#xff0c;《熊出没之夺宝熊兵》更是达到了2.47亿的票房。展望2015是超级大片…