函数的多返回值、函数多种传参方式 学会啦!继续学习~

1.函数的多返回值

如果一个函数要有多个返回值,该如何书写代码?

 按照返回值的顺序,写对应顺序的多个变量接收即可,

变量之间用逗号隔开,

支持不同类型的数据return

# 演示使用多个变量,接受多个返回值
def test_return():
    return 1, 2, 3
x, y ,z = test_return()
print(x)
print(y)
print(z)

# 1
# 2
# 3

#类型不受限
def test_return():
    return 1, "hi", True
x, y ,z = test_return()
print(x)
print(y)
print(z)

# 1
# hi
# True

2.函数多种传参方式

1)函数参数种类

使用方式上的不同,函数有4种常见参数使用方式:

·位置参数

·关键字参数

·缺省参数

·不定长参数

2)函数多种传参操作

a.位置参数

定义:即调用函数时根据函数定义的参数位置来传递参数。

# 位置参数
def user_info(name, age, gender):
    print(f"您的名字是:{name}, 年龄是:{age}, 性别是:{gender}")

user_info("Tom", 20, "男")

# 您的名字是:Tom, 年龄是:20, 性别是:男

⚠️传递的参数和定义的参数的顺序及个数必须一致。

b.关键字参数

定义:即函数调用时通过“键 = 值”形式传递参数。

作用:可以让函数更加清晰,容易使用,同时也清除了参数的顺序需求。

# 位置参数
def user_info(name, age, gender):
    print(f"您的名字是:{name}, 年龄是:{age}, 性别是:{gender}")

user_info("欣欣", 11, "女")
# 关键字参数
user_info(name="欣欣", age=11, gender="女")
user_info(age=11, gender="女", name="欣欣")  # 可以不按照参数的定义顺序传参
user_info("欣欣", gender="女", age=11)


# 您的名字是:欣欣, 年龄是:11, 性别是:女
# 您的名字是:欣欣, 年龄是:11, 性别是:女
# 您的名字是:欣欣, 年龄是:11, 性别是:女
# 您的名字是:欣欣, 年龄是:11, 性别是:女

c.缺省参数

定义:也叫默认参数 用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值。

⚠️所有位置参数必须出现在默认参数前,包括函数定义和调用。

作用:当调用函数时没有传递参数就会使用默认使用缺省参数对应的值。

# 缺省参数(默认值)
def user_info(name, age, gender="女"):  # 设置默认值必须在最后,并统一都在最后
    print(f"您的名字是:{name}, 年龄是:{age}, 性别是:{gender}")

user_info("欣欣", 11)
user_info("欣欣", 11, gender="男")

# 您的名字是:欣欣, 年龄是:11, 性别是:女
# 您的名字是:欣欣, 年龄是:11, 性别是:男

d.不定长参数

定义:也叫可变参数 用于不确定调用的时候会传递多少个参数(不传参也可以)的场景。

作用:当调用函数不确定参数个数时,可以使用不定长参数。

类型:位置传递、关键字传递

位置传递:

定义:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple),args是元组类型,这就是位置传递

关键字传递:

⚠️参数是“键 = 值”形式的形式情况下,所有的“键 = 值”都会被kwargs接受,同时会根据“键 = 值”组成字典。

# 不定长-位置不定长 *号
# 不定长定义的形式参数会作为元组存在,接收不定长数量的参数传入
def user_info(*args):
    print(f"args参数的类型是:{type(args)}, 内容是:{args}")

user_info(1, 2, 3, "欣欣", "女孩")
# 不定长-关键字不定长 **号
def user_info(**kwargs):
    print(f"args参数的类型是:{type(kwargs)}, 内容是:{kwargs}")

user_info(name="欣欣", age=11, gender="女")

# args参数的类型是:<class 'tuple'>, 内容是:(1, 2, 3, '欣欣', '女孩')
# args参数的类型是:<class 'dict'>, 内容是:{'name': '欣欣', 'age': 11, 'gender': '女'}

3)函数多种传参方式总结

·位置参数:根据参数位置传递参数

·关键字参数:通过“键 = 值”形式传递参数,可以不限参数顺序,可以和位置参数混用,位置参数需在前

·缺省参数:不传递参数值时会使用默认的参数值,默认值的参数必须定义在最后

·不定长参数:位置不定长传递以*号标记一个形式参数,以元组的形式接受参数,形式参数一般命名为args,关键字不定长传递以**号标记一个形式参数,以字典的形式接受参数,形式参数一般命名为kwargs

完结 🎉 继续更新!加个关注收藏一下叭~

  • 22
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只学习python的兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值