Ранее я делал серию постов про битовые операторы.
Вот вам ещё один наглядный пример как это используется в 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
የዳግማዊ አፄ ምኒልክ የታላቁ ቤተመንግሥት የጥበቃ ቤቶች በዘመናቸው ፤ ፬ ኪሎ - አዲስ አበባ
Guardhouses Of The Grand Palace of Emperor Menelik II, 4 Kilo - Addis Ababa;
#ታሪክን_ወደኋላ#TariknWedehuala#addisababa
youtube.com/@tariknwedehuala11
ፕሬዝዳንት መንግስቱ ኃይለማርያም ከአሜሪካ ለአፍሪካ ቡድን ጋር በኢትዮጵያ ስለተከሰተው ረሃብ እና በሰብአዊ እርዳታ ትብብር ላይ ለመወያየት በፅህፈት ቤታቸው ጋብዘው በሚወያዩበት ወቅት ፤ 1977 ዓ.ም (አዲስ አበባ)
Ethiopian President Mengistu Haile Mariam meets with the 'USA for Africa' team in his office, 1985, as part of discussions on humanitarian aid and collaboration amidst the Ethiopian famine crisi.
#ታሪክን_ወደኋላ#TariknWedehuala#addisababa
youtube.com/@tariknwedehuala11