1.参数的操作
实际参数传递给形式参数的操作方式,就是参数的操作
①位置参数(默认)
实际参数,安装形式参数声明的前后顺序,依次赋值的过程
# 参数的操作
def show(name,age,height):
print(f"姓名:{name}, 年龄:{age},身高:{height}")
# 位置参数
show("dongai",18,"185")
②关键字参数
实际参数进行数据传递时,将实际参数直接赋值给形式参数变量,提高代码可读性
# 关键字参数
def show(name,age,gender):
print(f"姓名:{name},年龄:{age},性别:{gender}")
show(name="dongai",gender="man",age=20)
③默认值参数
形式参数声明时候,可以直接给形式参数赋值(默认值),如果调用函数时不给带有默认值的形式参数传递数据,该形式参数就会使用默认值.如果传递了实际参数,就会使用传递的实际参数.(默认值参数,要写在位置参数的后面)
# 默认值参数
def show(name,age,gender="man"):
print(f"姓名:{name},年龄:{age},性别:{gender}")
show(name="dongai",age=20)
show(name="dongai",gender="girl",age=20)
④可变参数
可变参数,当函数不确定要接收参数的个数时,可以使用可变参数进行操作.
可变参数将一个普通参数前面添加一个"*",将普通参数变为可变参数
# 可变参数
def show(name,age,*information):
print(f"姓名:{name},年龄:{age}")
print(information)
show("dongai",20)
show("dongai",20,"girl") # information("girl")
show("dongai",20,"girl",1.85) # information("girl",1.5)
show("dongai",20,"girl",1.85,100) # information("girl",1.85,100)
⑤可变关键字参数
可变参数再函数调用时,传递的实际参数需要约定他们的使用用途,对于代码的可读性并不是很友好,python提供了可变关键字参数提高代码的可读性
#可变关键字参数
def show(name,age,**information):
print(f"姓名:{name},年龄:{age}")
print(information)
show("dongai",20)
show("dongai",20,gender="male") # information("gender"="male")
⑥强制关键字参数
函数调用执行的过程中,必须按照形式参数的名称,按照key = value的形式传递数据
# 强制关键字参数
def show(name,*,age,height):
print(f"姓名:{name}, 年龄:{age},身高:{height}")
# 位置参数
show("dongai",age=18,height="185")
⑦万能参数
函数调用过程中,不明确需要多少个位置参数,需要多少个关键字参数
通过python的参数语法,指定接收所有参数
[参数语法:(*args,**kwargs)
# 万能参数
def show(*args,**kwargs):
print("arguments(参数):",args)
print("keyword(关键字) arguments(参数):",kwargs)
show("dongai",age=20)
函数参数:形式参数(变量声明)和实际参数(包含了具体数据)
实际操作过程中,根据数据从实际参数传递到形式参数的方式的不同
2.函数的返回值
- 返回值:函数中的代码 执行完成,返回的结果数据
- 函数内部使用return关键字返回
- 函数内部只要执行了return语句,这个函数就执行完毕了
①返回单个数据
- 函数内部 只要执行了return关键字,直接返回单个结果数据
- 需要在调用函数的时候,使用一个变量进行接收
def pay(price,count):
res = price * count
return res
total = pay(15.88,7)
print(f"打印小票:付款¥{total}") #打印小票:付款¥111.16000000000001
# 保留小数点后两位
print(f"打印小票:付款¥%.2f"%total) # 打印小票:付款¥111.16
②返回一组数据
- 函数内部通过return关键字,返回多个数据(包含在组合数据类型返回)
- 核心还是返回了一个数据(包含了多个数据)
def pays(price,count):
pay = price * count
money = float(input(f"请输入您的付款金额(应付¥{pay}:"))
if money > pay:
# 计算余额
balance = money-pay
# 找零
print(f"找您¥%.2f"%balance)
# 返回数据
return {"price":price,"pay":pay,"money":money,"count":count,"balance":balance}
else:
input("支付金额不足,重新购买")
return False
pays(price=15.88,count=10)
返回多个数据
函数被允许直接返回多个数据,调用函数的时候,可以使用1个或者多个变量进行接收
def pays(price,count):
pay = price * count
money = float(input(f"请输入您的付款金额(应付¥{pay}:"))
if money > pay:
# 计算余额
balance = money-pay
# 找零
print(f"找您¥%.2f"%balance)
# 返回数据
return count,price
else:
input("支付金额不足,重新购买")
return False
# 调用执行函数
prices,counts = pays(price=12,count=4)