前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python函数(二)

python函数(二)

作者头像
py3study
发布2020-01-10 15:45:28
6190
发布2020-01-10 15:45:28
举报
文章被收录于专栏:python3

#6.传递任意个数的参数; #在定义函数时,若参数名前面使用“”,则表示可接受任意个数的参数,这些参数保存在一个元祖中。 #定义函数,代表b是一个元祖,可以接受多个参数 def add(a,*b): s=a #用循环迭代元祖b中的对象。 for x in b: #累加 s+=x #返回累加的结果。 return s #调用函数输入两个参数求和,输出结果。 res=add(1,2) print("两个参数求和结果:",res)

代码语言:javascript
复制
#调用函数输入3个参数求和,输出结果。

res=add(1,2,3) print("三个参数求和结果:",res)

代码语言:javascript
复制
#调用函数输入5个参数求和,输出结果。

res=add(1,2,3,4,5) print("五个参数求和结果:",res)

#7.必须通过赋值传递的参数 #python允许使用必须通过赋值传递的参数。 #b是可变参数,则后面跟的参数c在调用传值的时候,必须指明参数名。 def add(a,b,c): s=a+c for x in b: s+=x return s #调用函数,形参c未使用赋值传递,则出错。 res=add(1,2,c=3) print(res) #正确使用方式,在调用的时候,必须指明参数c. #另外,带*号的参数也可以省略,代表传递一个空元祖。 res=add(1,c=5) print(res) #函数的嵌套定义,python允许在函数内部定义函数。 def add(a,b): #在函数内部定义的函数,将字符串转换为ASCII求和。 def getSum(x): s=0 for n in x: s+=ord(n) return s return getSum(a)+getSum(b) #调用函数,有点类似于递归的意思。 res=add('a','b') print(res) #lambda函数;表达式函数,用于定义一个匿名函数,可将该函数赋值给变量,通过变量调用。lambda函数定义的基本格式如下: #Lambda 参数表:表达式 #定义lambda表达式函数,实现两个参数求和的功能,并将该函数赋值给一个变量。 #定义Lambda表达式函数,用于两个参数求和的功能。 #并将该函数赋值给一个变量。 add=lambda a,b:a+b #使用函数变量进行函数调用,传入两个整数 res=add(1,2) print(res)

#使用函数变量进行函数调用,传入两个字符串 res=add('ab','cd') print(res) #lambda函数充分说明了python中的函数名就是一个变量,该变量引用了一个函数对象。 #lambda函数非常适合定义简单的函数,与def不同,lambda的函数只能是一个表达式,可以调用其他的函数 #但不能使用python的其他语句。 #在lambad中调用其他的函数 add=lambda a,b:ord(a)+ord(b) res=add('1','2') print(res) #递归函数,递归函数是指在函数体内调用函数本身。例如:fac() #定义函数: def fac(n): if n==0: #递归函数必须能够终止,即有个边界条件,否则会变成死循环; return 1 else: #递归调用函数本身; return nfac(n-1) #调用函数; res=fac(5) print(res) #函数列表,python允许将函数作为列表对象,然后通过列表索引来调用函数。 #使用lambda函数建立列表。 d=[lambda a,b:a+b,lambda a,b:ab] #通过下标,调用列表中的第一个函数; res=d0 print(res) #通过下标,调用列表中的第二个函数; res=d1 print(res)

#也可以使用def定义的函数来创建列表。 #定义求和函数; def add(a,b): return a+b #定义求阶乘函数; def fac(n): if n==0: return 1 else: return n*fac(n-1) #建立函数列表;对于d来说,是一个列表,里面装载了两个函数,add、fac; d=[add,fac] #调用求和函数; res=d0 print(res) #调用求阶乘函数; res=d1 print(res)

#3.python还允许使用字典来建立函数映射,例如: #通过字典的方式,建立对上面已经定义好的两个函数的映射。 d={"求和":add,"求阶乘":fac} #调用求和函数 res=d"求和" print(res) #调用求阶乘函数; res=d"求阶乘" print(res) #注意:函数列表的实质就是在元祖、列表和字典等序列中建立函数对象的引用,然后通过所以来调用函数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档