第五周 函数和代码复用
5.1函数的定义与使用
函数的定义
函数是一段代码的表示
函数是一段具有特定功能的、可重用的语句组
函数是一种功能的抽象,一般函数表达特定功能
两个作用:降低编程难度和代码复用
def <函数名>(<参数(0个或者多个)>)
<函数体>
return <返回值>
案列:计算n!
def fact(n):
s = 1
for i in range(1,n+1)
s *= i
return
y = f(x)
函数定义时,所指定的参数是一种占位符
函数定义后,如果不经过调用,不会被执行
函数定义时,参数是输入、函数体是处理、结果是输出(IPO)
参数是输入,函数体本身是对参数的处理,return给出函数运行的结果
输入、处理、输出,简单理解,函数就是IPO的一种实现,函数也是一段完整代码的封装
函数的使用及调用过程
函数的调用
调用是运行函数代码的方式
def fact(n):
s = 1
for i in range(1,1+n)
s *= i
return s
所谓调用就是用函数的名称,给定一个具体的值作为参数,所以调用时实际参数的值是运行函数的输入
调用是要给出实际参数
实际参数替换定义中的参数
函数调用后得到返回值
定义不被执行,而调用的时候通过给定实际参数替换定义中的实际参数,获得运算结果
参数个数
函数可以有参数,也可以没有,但必须保留括号
def <函数名>():
<函数体>
return <返回值>
def fact():
print("我也是函数")
可选参数传递
函数定义时可以为某些函数指定默认值,构成可选参数
def <函数名>(<非可选参数>,<可选参数>):
<函数体>
return <返回值>
可选参数一定要放在必选参数传递后面
计算 n!//m
def fact(n,m=1):
s = 1
for i in range(1,n+1)
s *= i
return s//m
可变参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量
def 《函数名》(《参数》,*b):
《函数体》
return 《返回值》
首先定义函数,确定要给的函数放在前面,最后增加一个*b表达不确定参数
计算 n!乘数
def fact(n,*b):
s = 1
for i in range(1,n+1):
s *= i
for item in b:
s *= item
return s