我正在查看一些 Web2py 代码。
该变量tokens是某种字符串列表。更准确地说,它被定义为tokens = form.vars.name.split()where form.vars.nameis a string。
我的问题涉及以下说明:
query = reduce(lambda a,b:a&b,[User.first_name.contains(k)|User.last_name.contains(k) for k in tokens])
这是我的问题:
我知道
lambda a,b:a&b定义aand的函数b。是什么a&b?是特定于 Web2py的
contains方法吗?User.first_name或者它是否存在于标准 Python 中?这个
|运算符是User.first_name.contains(k)|User.last_name.contains(k)什么?该
reduce功能有什么作用?