我阅读了与此错误有关的其他线程,似乎我的问题与我到目前为止所读的所有帖子都有一个有趣的明显区别,即到目前为止所有其他帖子都有关于用户创建的错误类或内置系统资源.我在调用函数时遇到这个问题,我无法弄清楚它可能是什么.有任何想法吗?
BOX_LENGTH = 100
turtle.speed(0)
fill = 0
for i in range(8):
fill += 1
if fill % 2 == 0:
Horizontol_drawbox(BOX_LENGTH, fillBox = False)
else:
Horizontol_drawbox(BOX_LENGTH, fillBox = True)
for i in range(8):
fill += 1
if fill % 2 == 0:
Vertical_drawbox(BOX_LENGTH,fillBox = False)
else:
Vertical_drawbox(BOX_LENGTH,fillBox = True)
Run Code Online (Sandbox Code Playgroud)
错误信息:
Horizontol_drawbox(BOX_LENGTH, fillBox = True)
TypeError: Horizontol_drawbox() got multiple values for argument 'fillBox'
Run Code Online (Sandbox Code Playgroud) 每次我尝试为默认参数分配一个值时,当还使用 *args 时,都会引发错误:TypeError:“参数有多个值”。
def test(a,b, c=3, *args):
pass
args = [1,2,3]
test(1,2,c=3, *args)
Run Code Online (Sandbox Code Playgroud)
。
TypeError: test() got multiple values for argument 'c'
Run Code Online (Sandbox Code Playgroud)
起初我以为我在这里找到了答案: TypeError: got multiple values for argument 但事实证明该问题中的第一个参数被显式覆盖,所以在我自己的例子中,这与 test(1, 2, a=3, *args) 其中 a 的值为 1 和 3。但这里情况并非如此。
这个问题可能是这个问题的重复“在 python 函数中使用 *args, **kwargs 时获得关键字参数的多个值”,但老实说,该问题中有更多细节超出了我的范围要求,但我真的无法做到。因此,如果这是重复的,那么它会将其他问题的所有内容抽象为实际问题本身。