В Python оператор '|'
по умолчанию определен для целочисленных типов и типов множеств.
Если два операнда являются целыми числами, то он будет выполнять поразрядно или , что является математической операцией.
Если два операнда имеют тип set
, оператор '|'
вернет объединение двух множеств.
a = set([1,2,3])
b = set([2,3,4])
c = a|b # = set([1,2,3,4])
Кроме того, авторы могут определять поведение оператора для пользовательских типов, поэтому, если something.property
является определяемым пользователем объектом, вы должны проверить это определение класса для метода __or__()
, который затем определит поведение в вашем примере кода.
Итак, невозможно дать вам точный ответ, не зная типов данных для двух операндов, но обычно это будет побитовый или.