资源描述:
《函数python教学课件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一、必须参数、关键字参数、默认参数、可变参数的区别#name叫做函数func的形式参数,简称:形参deffunc(name):print(name)#'wupeiqi'叫做函数func的实际参数,简称:实参func('wupeiqi')deffunc(nam巳age=18):print("%s:%s"%(name,age))#位置参数func('wupei19)#使用默认参数func('alex')注:默认参数需要放在参数列表最后#可变参数*:表示将没有匹配的值放在一个元祖中deffunc(*args):print(args
2、)#执行方式一func(l,2,3/4,5)#执行方式二li=[11,2,2,3,3,4,54]func(li)#**:表示将没有匹配的值放在一个字典中deffunc(**kwargs):print(args)#执行方式一func(name='wupeiqi',age=18)#执行方式二li={'name':,wupeiqi,/age,:18,'gender':'male'}func(**li)deffunc(*args,**kwargs):print(args)print(kwargs)二、变量的作用域(全局变量和局部变量
3、)局部变量:函数内定义的变量名全局变量:在函数外,可以被多个函数引用total=0;#这是一个全局变量defsum(argl,arg2):total=argl+arg2;#total在这里是局部变量.print("函数内是局部变量:total)returntotaldeftotalprint():print('total的值是:total)returntotal想局变量当全局变量使用,用global声明三、闭包(函数嵌套)deffun():defadd(x,y):returnx+yreturnaddsum=fun()prin
4、t(sum(l,2))四、函数递归n!=n*(n-l)!五、匿名函数(不用def定义的函数)lambda创建匿名函数,是一个表达式f=lambdax,y:x+yprint(f(l,2))参数可以有也可以没有,也可以多个例:x=lambda:Trueprintl(t())x=lambdax:x**2print(x(2))练习:1•函数写出菲波那切数列。2•写个字符串,通过遍历的方式计算字符串的长度3•写入不定个数的字符串拼接第一个和最后一个字符串4.定义一个函数,输入不定个数的数字,返回所有数字的和5•传入多个参数,以list
5、返回2.defjlen(str):x=0foriinstr:x+=lprintu'该字符串的长度为:returnxjlenf'xiegezifuchuan1)3.defsplicing(*args):returnargs[O]+args[-l]printsplicing(,l,/,2,/3,)4.defsumofdigits(*args):x=0foriinargs:x+=ireturnxprintsumofdigits(l,23A5)5.defreturnlist(*args):li=[]foriinargs:li.app
6、end(i)returnliprintreturnlist⑴234)