Ранее я делал серию постов про битовые операторы.
Вот вам ещё один наглядный пример как это используется в Python в модуле re.
Чтобы указать флаг для компилятора нам надо указать его после передаваемой строки. Например, добавляем флаг для игнорирования переноса строки.
pattern = re.compile(r"(\w+)+")
words = pattern.search(text, re.DOTALL)
А как указать несколько флагов? Ведь явно будут ситуации когда нам потребуется больше одного. Кто читал посты по битовые операторы уже понял как.
pattern.search(text, re.DOTALL | re.VERBOSE)
А теперь смотрим исходники, что находится в этих атрибутах?
Не удивительно, степени двойки. Почему? Потому что каждое следующее значение это сдвиг единицы влево.
>>> for n in [1, 2, 4, 8, 16, 32, 64, 128, 256]:
>>>
print(bin(n))
0b1
0b10
0b100
0b1000
0b10000
0b100000
0b1000000
0b10000000
0b100000000
Чтобы было понятней, давайте напишем тоже самое но иначе, добавим ведущие нули:
000000001
000000010
000000100
000001000
000010000
000100000
001000000
010000000
100000000
Не понятно что тут происходит? Читай три поста про битовые операторы начиная с этого ➡️https://t.me/pythonotes/45
В общем, это пример применения побитовых операций в самом Python.
Теперь вы знаете Python еще немного лучше)
#tricks#regex#libs
#PENGU
Бренд Original Penguin подал в суд на Pudgy Penguins из-за товарных знаков
PEI Licensing (владелец бренда одежды Original Penguin, основанного в 1955 году) подала иск против Pudgy Penguins в федеральный суд Южного округа Флориды. Компания утверждает, что Pudgy Penguins использует и пытается зарегистрировать «пингвиньи» словесные и графические знаки так, что это может вводить покупателей в заблуждение и размывать бренд.
По версии PEI, предупреждение о нарушении направляли еще в октябре 2023 года, но Pudgy Penguins продолжила выпуск и продажу розничных товаров (мерч, одежда и т.п.).