函数(函数的定义)

网友投稿 285 2022-08-25


函数(函数的定义)

什么是函数

函数就是执行特定任务以完成特定功能的一段代码

函数的作用

1.复用代码

2.隐藏实现细节

3.提高可维护性

4.提高可读性便于调试

函数的创建

def       函数名(输入参数):

函数体

[return xxx]

print('------函数的创建-----')def add(a,b): #实现加法 return a+bdef div(a,b): #实现除法 return a/bprint(add(10,20)) print(div(10,4))

函数的参数传递

1.位置实参

根据形参对应的位置进行实参传递

2.关键字实参

根据形参名称进行实参传递

print('-----函数参数的传递----')def sub(a,b): c = a - b return c #实现减法def mul(a,b): return a * b #实现乘法print(sub(10,20))#位置实参,即10传给a,20穿给bprint(mul(b=10,a=20))#关键字实参,按照输入的参数进行传递

函数的返回值

函数返回多个值时,结果为元组

print('----函数的返回值----')def fun(num): #分出列表中的奇数偶数 odd=[] even=[] for i in num: if i%2: odd.append(i) else: even.append(i) return odd,evenlst = [11,22,48,13,37,19]print(fun(lst))

函数的参数定义

1.函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递参数

print('-----函数的参数-----')#默认参数值def add(a,b=50): #默认b为50 print(a,b)add(100) #传给一个参数,给aadd(200,100) #100与50不同,赋值给b

2.个数可变的位置参数

定义函数时,可能无法率先确定传递的位置实参的个数时,使用可变的位置参数

使用*定义个数可变的位置形参(像c中的指针)

结果为一个元组

3.个数可变的关键字形参

定义函数时,可能无法率先确定传递的关键字实参的个数时,使用可变的关键字参数

使用**定义个数可变的位置形参

结果为一个字典

print('----个数可变的位置形参----')def fun(*args): #只能有一个 个数可变的位置形参 print(args)fun(10)fun(20,30,40)print('----个数可变的关键字形参-----')def fun(**args): #同样只能有一个 个数可变的关键字形参 print(args)fun(a = 10)fun(b = 20, c = 30, d = 40)

变量的作用域

程序代码能访问该变量的区域

根据变量的有效范围分:

全局变量:函数体外定义的变量,可作用于函数内外

递归函数

1.什么是递归函数

如果一个函数的函数体内调用了函数本身,这个函数就称为递归函数

2.递归的组成部分

递归调用和递归终止条件

3.递归的调用过程

每递归调用一次函数,都会在栈内存分配一个和栈帧

每执行完一次函数,就会释放相应的空间

4.递归的优缺点

优点:思路和代码简单

缺点:占用内存多,效率低下

print('----递归函数----')#n的阶乘def fac(n): if n==1: return 1; else: return fac(n-1)*nprint(fac(4))

斐波那契数列

print('----斐波那契数列----')def fib(n): if n==1: return 1 elif n==2: return 1 else: return fib(n-1)+fib(n-2)print(fib(6))


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:1.冒泡排序(冒泡排序基本过程)
下一篇:2022-07-12 1252. 奇数值单元格的数目(20220712黄历)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~