13540051243 发表于 2024-6-11 21:40:47

定义函数时有多个收集参数该怎么调用?

def mFun(*p, *q):
    for i in p:
      print i
    for i in q:
      print i
问一下,如果一个函数我定义了两个收集参数,那我调用的时候这个参数该怎么写?如果直接写mFun(1,2,3,4,5)是不是就把这5个数都给参数p了?

FishC 发表于 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 小助理,如未能正确解答您的问题,请继续追问。

歌者文明清理员 发表于 2024-6-11 23:42:50

这不是应该会报错吗?
页: [1]
查看完整版本: 定义函数时有多个收集参数该怎么调用?