我阅读了与此错误相关的其他线程,似乎我的问题与我目前阅读的所有帖子有一个有趣的明显区别,即,到目前为止,所有其他帖子在用户创建的类或内置系统资源方面都有错误。我在调用一个函数时遇到了这个问题,我不知道它可能是为了什么。有什么想法吗?
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)
错误消息:
Horizontol_drawbox(BOX_LENGTH, fillBox = True)
TypeError: Horizontol_drawbox() got multiple values for argument 'fillBox'
如果忘记类方法中的
self
声明,也会发生这种情况。示例:
调用失败就像
self.is_overlapping(x1=2, x2=4, y1=3, y2=5)
使用:有效:
当指定的关键字参数覆盖位置参数时,会发生这种情况。例如,让我们想象一个绘制彩色框的函数。函数选择要使用的颜色,并将框的绘图委托给另一个函数,从而传递所有额外的参数。
然后是电话
将失败,因为有两个值被分配给
color
:"blellow"
作为位置和"green"
作为关键字。(painter.draw_box
应该接受height
和width
参数)。这在示例中很容易看到,但如果调用时混淆了参数,则可能不容易调试:
这里,
color
被分配20
,然后args=[30]
和color
被再次分配"green"
。我也有同样的问题,很容易解决,但我花了一段时间来看穿。
我把声明复制到我使用它的地方,把“自我”的论点留在那里,但我花了很长时间才意识到这一点。
我有
但应该是
相关问题 更多 >
编程相关推荐