day6:函数、(局部、全部变量)、递归
1 def test01(*args): #agrs接收到是位置参数 2 print(args) 3 4 test01("zhangsan","moll") 5 test01(*["wanger","wangda"]) 6 7 def test02(**kwargs):#kwargs接收到N个关键字参数 8 print(kwargs) 9 test02(name1="moll",age=18) 10 test02(**{'name':"wpd",'age':28})
一、函数
1、形参
2、实参
3、默认参数
特点:
1、可重复利用
2、可扩展
3、维护性好
二、局部、全部变量
1 #!usr/bin/python 2 #Author:mollsweet 3 4 city="beijing" 5 hobby=["swimming","badminton"] 6 def city_name(): 7 global city 8 hobby[0]="tourism" 9 city="chengdu" 10 print(city) 11 print(hobby) 12 city_name() 13 print(city)
输出结果:

三、递归

概念:是指在函数的定义中使用函数自身的方法。
在使用递归时,需要注意以下几点:
- 递归就是在过程或函数里调用自身
- 必须有一个明确的递归结束条件,称为递归出口。
注意: 切勿忘记递归出口,避免函数无限调用。
优点:
- 递归使代码看起来更加整洁、优雅
- 可以用递归将复杂任务分解成更简单的子问题
- 使用递归比使用一些嵌套迭代更容易
缺点:
- 递归的逻辑很难调试、跟进
- 递归调用的代价高昂(效率低),因为占用了大量的内存和时间。
实例:数学公式计算,阶层
1 def factorial(n): 2 if n==1: 3 return 1 4 else: 5 return n*factorial(n-1)
四、高阶函数
1 def add(a,b,f): 2 add=f(a)+f(b) 3 print(add) 4 add(1,-2,abs)
实际就是将传递的参数中将其他一个内置函数,或者一个值进行传递赋值

浙公网安备 33010602011771号