Ранее я делал серию постов про битовые операторы.
Вот вам ещё один наглядный пример как это используется в 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
🌍🌍✨✨✨✨#tv
🔴Yangiliklar
🇺🇿Oltiariq tumanida 🌱“Yashil makon” loyihasi doirasida Tuman Madaniyat boʻlimi xodimlari ishtirokida ko‘chat ekish ishlari amalga oshirildi.
Rasmiy sahifalarimizda bizni kuzatib boring:👇
📱Telegram | 📱Instagram |
📱Facebook | 📱YouTube
📺Smart TV Owners Want Multi-Device Viewing Options
Smart TV Owners watch a combination of both broadcast and online #TV. Further exploring their diverse TV engagement habits shows they frequently ventures beyond their smart TVs, watching their favorite TV shows and films across a broad range of devices, demonstrating that it’s the content, not the device, that governs preferences.
🚀@PerspectiveIX
🌀 http://prs.pctvix.co/TelegramIX