def 函数名(形式参数):
函数体
return 返回值
变量 = 函数名(实际参数)
def 函数名(形式参数):
函数体
return 返回值1,返回值2,返回值3,...
# 知识点: 函数返回多个值,核心思想放到容器中返回,默认用的元组
# 先定义函数
def show():
return 1, 2, 3
# 再调用函数
# 方式1: 接收元组,再遍历
result = show()
print(result, type(result))
# 遍历元组
for i in result:
print(i)
# 方式2: 直接拆包接收
a, b, c = show()
print(a, b, c)
实参和形参的顺序必须一致,以及个数也必须一致
# 先定义函数
def show(name, age, height):
print(f"姓名:{name},年龄:{age},身高:{height}cm")
# 再调用函数
# 演示位置传参 , 弊端: 实参和形参的个数和顺序都必须一致
show('张三', 18, 178.8)
实参和形参顺序可以不一致,但是个数必须一致
在实参位置传参格式: 形参名 = 值
# 先定义函数
def show(name, age, height):
print(f"姓名:{name},年龄:{age},身高:{height}cm")
# 再调用函数
# 演示关键字参数, 优点: 实参和形参的顺序可以不一致 弊端: 实参和形参的个数必须一致
show(age=18, name='张三', height=178.8)
# 注意: 如果关键字参数和位置参数一起使用,关键字参数需要放到后面
show('张三', height=178.8, age=18)
给形参设置默认值,可以让实参和形参的个数不一致
在形参位置设置默认值格式: 形参名 = 值
# 先定义函数
# 注意: 位置参数和缺省参数一起配合使用,缺省参数需要放到后面
def show( name='张三', age=18, height=188.8):
print(f"姓名:{name},年龄:{age},身高:{height}cm")
# 再调用函数
# 演示缺省参数, 优点: 实参和形参的个数可以不一致
# 如果都设置了缺省参数,调用的时候可以都不传,使用默认值
show()
# 如果都设置了缺省参数,调用的时候传入了值,以传入的为主
show('李四')
show('李四', 19)
show('李四', 19, 199.9)
# 注意: 如果定义的时候都设置了缺省参数,调用的时候只想改变后面的某个数据,需要用关键字参数
show( name='张三', height=199.9)
不定长参数也叫可变参数. 用于不确定调用的时候会传递多少个参数(不传参也可以)的场景
不定长参数的类型:
"""
可变参数: 不定长参数
位置传参: 一个个数据,使用*args接收,默认把所有数据存储到了元组中,这个元组名叫args
关键字传参: 一对对数据,使用**kwargs,默认把所有数据存储到了字典中,这个字典名叫kwargs
"""
# 先定义函数
def show1(*args, **kwargs):
print(args, type(args))
print(kwargs, type(kwargs))
# 再调用函数
show1(1, 2, 3, a=4, b=5, c=6)