1 函数的定义
1.1函数是一段代码的表示
def <函数名>(<参数(0个或多个)>):
<函数体>
return<返回值>
函数定义时,参数是输入,函数体是处理,结果是输出(IPO)
案例:计算n!
def fact(n):
s = 1
for i in range(1,n+1):
s *= i
return s
2 函数的调用
调用时要给出实际参数
实际参数替换定义中的参数
a = fact(10)
print(a)
3 函数的参数传递
3.1 函数可以有参数,也可以没有参数,但必须保留括号
def <函数名>():
<函数体>
return<返回值>
案例:
def fact(n):
print("我也是函数")
3.2可选参数传递
函数定义时可以为某些参数指定默认值,构成可选参数
def <函数名>(<非可选参数>,<可选参数>):#所有可选参数必须放在非可选参数后
<函数体>
return<返回值>
案例:计算n!// m
def fact(n,m=1):#m=1是可选参数,如果调用时给出了第二个参数m,那就用给的实际值,如果没给m,那就将m=1进行计算
s = 1
for i in range(1,n+1):
s *= i
return s//m
fact(10) #3628800
fact(10,5) #725760
3.3可变参数传递
函数定义时可以设计可变数量参数,即不确定参数总数量,给1个参数也行,10个参数也行,函数都可以进行运算
def <函数名>(<参数>,*b):#*b表示不确定的参数
<函数体>
return<返回值>
案例:计算n!乘以数
def fact(n,*b):
s = 1
for i in range(1,n+1):
s *= i
for item in b:
s *= item
return s
fact(10,3)#10886400
fact(10,3,5,8)#435456000
3.4 参数传递的两种方式
函数调用时,参数可以按照位置或名称方式传递
def fact(n,m=1):
s = 1
for i in range(1,n+1):
s *= i
return s//m
fact(10,5)#位置传递
fact(m = 5,n=10)#名称传递
4 函数的返回值
函数可以返回0个或多个结果
-return 保留字用来传递返回值
-函数可以有返回值,也可以没有,可以有return也可以没有
def fact(n,m=1):
s = 1
for i in range(1,n+1):
s *= i
return s//m,n,m #返回多个值
fact(10,5)#(725760,10,5)
也可以
a,b,c = fact(10,5)
print(a,b,c)#725760,10,5