day 10
01.函数定义
函数就像是工具,提前造(写)好,当要用时再拿来用(执行)。
# 函数的结构 def 函数名(等同于变量名)(): '''对函数的描述信息''' 代码块
如何定义一个函数;工具要有名字,函数也是,给函数命名的过程就是定义函数。
# 具体流程 # 先正常的写一段代码 x=10 y=20 if x > y: print(x) else: print(y) # 将其定义为一个函数 def max_2(): '''打印较大的数''' x=10 y=20 if x > y: print(x) else: print(y)
函数在定义阶段不会执行该段代码(无法检测逻辑错误),但会检测语法错误。
函数的调用
# 如上面的函数想使用时只需 max_2() #调用函数阶段就会执行内部的代码块 print(max_2) # 只打印函数名不加括号就会打印出函数的内存地址
定义三种形式的函数
# 空函数; # 只定义一个函数占个位置,内部没有代码 # def 和 :下面的缩进中一定要有代码,所以当定义空函数时需要写一个pass def k(): pass
# 无参函数; # 函数名后面的括号内没有参数,在使用时也不需要输入参数,会执行出固定的结果 # 这就是一个无参函数 def max_2(): '''打印较大的数''' x=10 y=20 if x > y: print(x) else: print(y)
# 有参函数 # 顾名思义,无参函数相对应在使用时需要输入参数,才能正确运行 # 这就变成了一个有参函数 def max_2(x,y): '''打印较大的数''' if x > y: print(x) else: print(y) # 在函数调用时需要给x,y一个值 max_2(10,20)
函数的返回值return
def min_2(x, y): if x > y: return y else: return x min_num=min_2(10,20) # min_unm=10 # return 将函数运行的结果变成一个值输出给其他变量名
02.函数的参数
形参与实参
def min_2(x, y): # 此处的x,y叫做形参,没有实际意义,用来接收实参 if x > y: return y else: return x min_num=min_2(10,20) # 此处的10,20 叫做实参
位置参数
位置实参会从左到右依次将值传给位置型参,位置型参与位置实参必须一一对应
def min_2(x, y): # 此处的x,y叫做位置形参 if x > y: return y else: return x min_num=min_2(10,20) # 此处的10,20 叫做位置实参
默认型参
def min_2(x, y=15): # y叫做默认形参,默认型参一定要在位置型参之后 if x > y: return y else: return x min_num=min_2(10,20) # 当此处给y传值时,y也会接受改值将原有的默认值替换掉 min_num=min_2(10) # 此时没有给y传值,y就会以默认值15往下运行
关键字实参
def min_2(x,y,z): # y和z会相应接收20和25,同默认型参关键字实参也要排在位置实参之后 if x > y and x>z: return x elif y>x and y>z: return y else: return z min_num=min_2(10,z=25,y=20) # z=25,y=20叫做关键字实参,会通过关键字对型参付值
03.可变长参数
可变长型参之*
def sum_self(*args): # 给args加上*号后,这个型参就可以接收无限个实参值,以元组形式输出 res=0 for num in args: res+=num return res