码迷,mamicode.com
首页 > 编程语言 > 详细

python函数(二)

时间:2018-08-17 17:50:19      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:形参   转换   定义   在定义函数时   return   允许   存在   pre   边界条件   

#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 nfac(n-1)
#调用函数;
res=fac(5)
print(res)
#函数列表,python允许将函数作为列表对象,然后通过列表索引来调用函数。
#使用lambda函数建立列表。
d=[lambda a,b:a+b,lambda a,b:a
b]
#通过下标,调用列表中的第一个函数;
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)
#注意:函数列表的实质就是在元祖、列表和字典等序列中建立函数对象的引用,然后通过所以来调用函数。

python函数(二)

标签:形参   转换   定义   在定义函数时   return   允许   存在   pre   边界条件   

原文地址:http://blog.51cto.com/2096101/2161269

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!