python函数(二)
【摘要】
#6.传递任意个数的参数;#在定义函数时,若参数名前面使用“*”,则表示可接受任意个数的参数,这些参数保存在一个元祖中。#定义函数,*代表b是一个元祖,可以接受多个参数def add(a,*b): s=a #用循环迭代元祖b中的对象。 for x in b: #累加 s+=x ...
-
#6.传递任意个数的参数;
-
#在定义函数时,若参数名前面使用“*”,则表示可接受任意个数的参数,这些参数保存在一个元祖中。
-
#定义函数,*代表b是一个元祖,可以接受多个参数
-
def add(a,*b):
-
s=a
-
#用循环迭代元祖b中的对象。
-
for x in b:
-
#累加
-
s+=x
-
#返回累加的结果。
-
return s
-
#调用函数输入两个参数求和,输出结果。
-
res=add(1,2)
-
print("两个参数求和结果:",res)
-
-
#调用函数输入3个参数求和,输出结果。
-
res=add(1,2,3)
-
print("三个参数求和结果:",res)
-
-
#调用函数输入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 n*fac(n-1)
-
#调用函数;
-
res=fac(5)
-
print(res)
-
#函数列表,python允许将函数作为列表对象,然后通过列表索引来调用函数。
-
#使用lambda函数建立列表。
-
d=[lambda a,b:a+b,lambda a,b:a*b]
-
#通过下标,调用列表中的第一个函数;
-
res=d[0](1,3)
-
print(res)
-
#通过下标,调用列表中的第二个函数;
-
res=d[1](2,4)
-
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=d[0](1,5)
-
print(res)
-
#调用求阶乘函数;
-
res=d[1](5)
-
print(res)
-
-
#3.python还允许使用字典来建立函数映射,例如:
-
#通过字典的方式,建立对上面已经定义好的两个函数的映射。
-
d={"求和":add,"求阶乘":fac}
-
#调用求和函数
-
res=d["求和"](1,5)
-
print(res)
-
#调用求阶乘函数;
-
res=d["求阶乘"](5)
-
print(res)
-
#注意:函数列表的实质就是在元祖、列表和字典等序列中建立函数对象的引用,然后通过所以来调用函数。
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/81780790
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)