鱼C论坛

 找回密码
 立即注册
查看: 66|回复: 2

[已解决]定义函数时有多个收集参数该怎么调用?

[复制链接]
发表于 2024-6-11 21:40:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def mFun(*p, *q):
    for i in p:
        print i
    for i in q:
        print i
问一下,如果一个函数我定义了两个收集参数,那我调用的时候这个参数该怎么写?如果直接写mFun(1,2,3,4,5)是不是就把这5个数都给参数p了?
最佳答案
2024-6-11 21:41:02
对于一个函数定义了多个收集参数,你可以在调用时分别传入对应的值。也可以使用元组或列表来传递参数。

下面是一个示例代码:
def mFun(*p, **q):
    for i in p:
        print(i)
    for key, value in q.items():
        print(key, value)

mFun(1, 2, 3, 4, 5, a='apple', b='banana')

输出结果为:
1
2
3
4
5
a apple
b banana

在这个例子中,我们定义了两个收集参数 `*p` 和 `**q`。调用函数时,我们传入了多个参数,并且使用关键字参数给 `**q` 传递了额外的参数。

需要注意的是,在函数定义中,收集参数 `*p` 会将多个位置参数打包成一个元组,而收集参数 `**q` 则会将多个关键字参数打包成一个字典。在函数体内部,我们可以通过遍历这个元组或字典来访问其中的每个参数。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-6-11 21:41:02 | 显示全部楼层    本楼为最佳答案   
对于一个函数定义了多个收集参数,你可以在调用时分别传入对应的值。也可以使用元组或列表来传递参数。

下面是一个示例代码:
def mFun(*p, **q):
    for i in p:
        print(i)
    for key, value in q.items():
        print(key, value)

mFun(1, 2, 3, 4, 5, a='apple', b='banana')

输出结果为:
1
2
3
4
5
a apple
b banana

在这个例子中,我们定义了两个收集参数 `*p` 和 `**q`。调用函数时,我们传入了多个参数,并且使用关键字参数给 `**q` 传递了额外的参数。

需要注意的是,在函数定义中,收集参数 `*p` 会将多个位置参数打包成一个元组,而收集参数 `**q` 则会将多个关键字参数打包成一个字典。在函数体内部,我们可以通过遍历这个元组或字典来访问其中的每个参数。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-6-11 23:42:50 | 显示全部楼层
这不是应该会报错吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-24 20:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表