Я смотрю на некоторый код Web2py.
Переменная tokens
является своего рода списком строк.Чтобы быть более точным, он определяется как tokens = form.vars.name.split()
, где form.vars.name
- строка.
Мой вопрос касается следующей инструкции:
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
определяет функцию a
и b
.Что такое a&b
?
Является ли метод contains
User.first_name
специфичным для Web2py?Или он существует в стандартном Python?
Что это за оператор |
в User.first_name.contains(k)|User.last_name.contains(k)
?
Что означает reduce
функцию делать?