☰
函数return、参数、参数组、递归函数、高阶函数等小结
2026/10/2 12:48:43 网站建设 项目流程

函数返回值

  1. 无return:返回None
  2. 有return:有一个返回值,返回object
  3. 有return:大于一个返回值,返回tuple
deffun_test01():print('in fun_test01')#函数deffun_test02():print('in fun_test02')return0deffun_test03():print('in fun_test03')return1,'test',['lili','wuwu'],{'name':'gan'}x=fun_test01()y=fun_test02()z=fun_test03()print(x)#返回Noneprint(y)#返回0,类型objectprint(z)#返回元组,打包成元组(1, 'test', ['lili', 'wuwu'], {'name': 'gan'})

函数参数

  1. 形参:定义函数时的参数如x和y,不调用不占用内存;
  2. 实参:调用函数时传入的参数,如1和2;
deffun_test04(x,y):#形参print(x)print(y)fun_test04(1,2)#1和2为实参
  1. 关键参数:使用args=1这种形式;
  2. 位置参数:调用函数时直接传入参数,如1和2
deffun_sum(x,y):sum=x+yprint(sum)fun_sum(1,2)#位置参数传参fun_sum(x=3,y=4)#使用关键参数传参fun_sum(1,y=7)#位置参数在关键参数前面# fun_sum(x=1,2) #关键参数在前面不可以
  1. 默认参数:比如安装软件的默认路径。
deffun_sum(x,y=1):sum=x+yprint(sum)fun_sum(1)#默认参数可以不传fun_sum(1,2)#传默认参数,修改默认参数fun_sum(x=3,y=4)#使用关键参数传参

函数参数组

  1. 参数组:元组、字典、以及多种组合,便于扩展、预留字段
#参数组,元组deffun_test05(*args):print(args)fun_test05(1,2,3,4)fun_test05([1,2,3,4],[12])print('****')#字典,把关键字参数转换为字典deffun_test06(**kwargs):print(kwargs)fun_test06(name='test',age=18,sex='female')print('****')#多种参数组合deffun_test07(name,age=18,*args,**kwargs):print(name)print(age)print(args)print(kwargs)fun_test07('agan',19,3,4,'hhh',sex='test',hobby='dance')

运行结果

递归函数

  1. recursion function:
    • 有结束条件
    • 第二次递归比第一次递归计算规模小;
    • 效率不高,需要占用栈内存
#阶乘 def fun_test01(i): if i==0 or i==1: return 1 else: return fun_test01(i-1)*i print(fun_test01(5))

高阶函数

  1. Higher-order function:一个函数调用另一个函数作为参数
defsquare(x):ifx==0orx==1:return1else:returnx*xdeffun_test03(x,y,f):#f为函数returnf(x)+f(y)print(fun_test03(3,4,square))#调用时传参包括x、y以及函数square

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询