Python TypeError:必须为键函数使用关键字参数

Python TypeError:必须为键函数使用关键字参数,python,list,lambda,key,Python,List,Lambda,Key,这似乎是一个语法错误 下面是应该正确的调用函数 t.sort(key=lambda b: b.length // 2) 下面是函数 def sort(self, key=None): p=self.boxes p.sort(key) return p是类中的列表。我不确定如何正确排序。就像错误所说的那样,您应该使用关键字参数传递键: def sort(self, key=None): self.boxes.sort(key=key) (请注意,p和retur

这似乎是一个语法错误

下面是应该正确的调用函数

t.sort(key=lambda b: b.length // 2)
下面是函数

def sort(self, key=None):
    p=self.boxes
    p.sort(key)
    return

p是类中的列表。我不确定如何正确排序。

就像错误所说的那样,您应该使用关键字参数传递

def sort(self, key=None):
    self.boxes.sort(key=key)

(请注意,
p
return
是不必要的)

如错误所述,您应该使用关键字参数传递

def sort(self, key=None):
    self.boxes.sort(key=key)

(请注意,
p
return
是不必要的)

您认为错误消息是什么意思?您认为错误消息是什么意思?为什么?我还没有看到任何其他函数需要这样的关键字。一般来说,有关仅关键字的参数,请参阅。具体来说,我的理解是,
是为了防止与
cmp
意外混淆而设置的,这是Python 3中删除的一个旧参数。见例。这说明了kw only arg的主要优点——它们迫使调用者明确表示要传递哪个arg,这有助于可读性和向前兼容性。为什么?我还没有看到任何其他函数需要这样的关键字。一般来说,有关仅关键字的参数,请参阅。具体来说,我的理解是,
是为了防止与
cmp
意外混淆而设置的,这是Python 3中删除的一个旧参数。见例。这说明了仅kw参数的主要优点-它们迫使调用方明确表示要传递哪个参数,这有助于可读性和前向兼容性。