я увидел кусок кода в проекте, где написано следующее:Что делает знак | = (pipe equal) в python?
move = Move.create({
'name': repair.name,
'product_id': repair.product_id.id,
'product_uom': repair.product_uom.id or repair.product_id.uom_id.id,
'product_uom_qty': repair.product_qty,
'partner_id': repair.address_id.id,
'location_id': repair.location_id.id,
'location_dest_id': repair.location_dest_id.id,
'restrict_lot_id': repair.lot_id.id,
})
moves |= move
moves.action_done()
Что делает | = смысл здесь?
Он делает то, что делает 'move' решает, что он делает. Обычно это означает «побитовое» или «установить объединение» и присваивать и, как правило, эквивалентно «move = move | move' – AChampion
Похоже, [set union operator] (https://docs.python.org/2/library/sets.html). Предположительно класс 'Move' перегружает это, чтобы разрешить операнды типа' Move' –
FYI: 'set' теперь встроенный тип: https://docs.python.org/2/library/stdtypes.html#set – AChampion