Python中函数的一些知识点
一:函数的创建和调用
二:函数的参数传递
三:函数的返回值
四:函数的参数定义
五:递归函数
一:函数的创建和调用
函数的创建:
def calc(a,b):
c=a+b
return c
result=calc(10,20)
print(result)
二:函数的参数传递
位置实参:
·根据形参对应的位置进行实参传递
关键字实参:
·根据形参名称进行实参传递
三:函数的返回值
例题:输出奇数偶数分好类的
def fun(num):
odd=[]
even=[]
for i in num:
if i%2:
odd.append(i)
else:
even.append(i)
return odd,even
lst=[10,29,34,44,54]
print(fun(lst))
函数的返回值:
- :如果函数没有返回值[函数执行完毕后,不需要给调用处提供数据]return可以省略不写
- :函数的返回值,如果是1个,直接返回类型。
- :函数的返回值,如果是多个,返回的结果为元组。
四:函数的参数定义
默认值参数:
def fun(a,b=10):#b称为默认值参数
print(a,b)
#函数的调用
fun(100)# 100 10
fun(20,30)#20 30
函数定义时:给形参设置默认值,只有与形参不符的时候才需要传递实参。
个数可变的位置参数:
定义函数时,可能无法事先确定传递的位置实参的个数,使用可变的位置参数。
使用*定义个数可变的位置形参
结果为一个元组
def fun(*c):
print(*c)
fun(10)
fun(10,20)
fun(100,20,30)
输出结果就是:10;10,20;100,20,30;
个数可变的关键字形参:
定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参,
使用**定义个数可变的关键字形参
结果为一个字典
def fun(**c):
print(c)
fun(a=10)
fun(a=10,b=20)
fun(a=100,b=20,c=30)
print("hello",'world','chang')
函数调用时的参数传递:
def fun(a,b,c):
print('a=',a)
print('b=',b)
print('c=',c)
fun(10,20,30)
结果:
a= 10
b= 20
c= 30
如果我们要传一个字典进去的话:
def fun(a,b,c):
print('a=',a)
print('b=',b)
print('c=',c)
lst=[11,22,33]
fun(*lst)
结果才会一一对应上。
五:递归函数:
def fac(n):
if n==1:
return 1
else:
return n*fac(n-1)
print(fac(6))
递归函数大家应该都很熟悉了,我不介绍了,我只把实现的代码放过来了。
斐波那契额数列:
def fib(n):
if n==1:
return 1
elif n==2:
return 1
else:
return fib(n-1)+fib(n-2)
print(fib(6))