#python中的函数的应用
函数的定义和调用:
def 函数名(形参列表):
函数体
#求1~100的和
def mk(): 不需要返回值()就为空
sum=0
for i in range(1,101):
sum=sum+i
printf("sum=",sum)
mk()
#求任意连续整数的和
def mk(m1,m2):
sum=0
for i in range(m1,m2+1)
sum=sum+i
printf("sum=",sum)
m1=int(input("请输入:")
m2=int(input("请输入:")
mk(m1,m2)
函数中的参数
1.默认值参数:默认值参数必须写在形参列表右边
def hj(w,t=8):
print(w,j)
调用:
hj(m,9)
>>>m,9
hj(m)
>>>m,8
2.名称传递参数
def my(m,e,r=0.8):
sc=m*r+e*(1-r)
return sc
print(my(99,0.8)) 按位置传递参数,r为默认值0.8
print(my(m=88,e=90,r=0.9))
print(my(r=0.9,e=90,m=78)) 按名称传递参数
3.可变参数
参数是*xxx
def mn(*c): 此时的c在函数中调用时是被当做元组看的
for i in c:
print("{:^4}".format(i),end="")
return len(c)
count=mn("李白","杜甫")
print("共有{}人".format(count))
count=mn("李白","杜甫","王伟","袁枚")
print("共有{}人".format(count))
>>>2
4 c是可以改变的
参数是**xxx
在函数中调用xxx是是被当做字典使用的要遵从字典的使用方法
Lambda函数
是一种简便的,在同一行定义函数的方法,用于需要函数对象作为参数或者函数比较简单只调用一次的时候。
#求a,b的乘积
f=lambda x,y:x*y
f(8,9)
>>>72
#用lambda()选出列表中所有负数
list=[1,-9,3,4,-6,7]
f=lambda x:x<0
for i in filter(f,list):
print(i)
filter(函数,序列) 过滤掉序列中不符合函数的值,并将符合的放入新列表中。
上面的可以简化为
for i in filter(lambda x:x<0,list):
print(i)
递归函数: