Функция sub в regex может принимать функцию в качестве аргумента repl.
📄 Из документации:
If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений.
Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений.
Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере:
Создаем карту замены. То есть какие строки на какие требуется менять.
remap = {
'раз': '1',
'два': '2',
'три': '3',
'четыре': '4',
'пять': '5',
}
Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match.
Используя данные этого объекта мы вычисляем замену on-the-fly!
def get_str(match: re.Match):
word = match.group(1)
return remap.get(word.lower()) or word
Пример текста.
text = '''Раз Два Три Четыре Пять
Вместе будем мы считать
Пять Четыре Три Два Раз
Мы считать научим вас
'''
Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции.
(Данный паттерн ищет отдельные слова в тексте)
>>> print(re.sub(r'(\w+)', get_str, text))
1 2 3 4 5
Вместе будем мы считать
5 4 3 2 1
Мы считать научим вас
Думаю, достаточно наглядно 🤓
#libs#regex
Así como la ropa abrigada protege contra el frío, la resistencia protege contra el resentimiento. Aumenta la paciencia y la tranquilidad de espíritu, y el resentimiento, por amargo que sea, no te tocará.
#LeonardodaVinci
The most expensive book ever sold is Leonardo da Vinci’s "Codex Leicester." It was bought by Bill Gates in 1994 for $30.8 million. The book is a collection of Leonardo’s scientific writings and drawings. 📚💰
[Read more]
@googlefactss
#MostExpensiveBook#LeonardoDaVinci#CodexLeicester#BookFacts
Сегодня предлагаю ознакомиться с цитатами известных людей об авиации 🔎
⏺Леонардо да Винчи
Когда ты однажды попробуешь полет, ты навсегда будешь ходить по земле с глазами, устремлёнными в небо, потому что там ты был, и туда тебе хочется вернуться.
⏺Игорь Сикорский
Вероятно, самая большая ошибка инженеров — утверждать, что что-то невозможно, просто потому, что они не знают, как это сделать.
⏺Дуглас Бадер
Правила придуманы для людей, которые не хотят думать. А хорошие пилоты должны думать сами.
⏺Антуан де Сент-Экзюпери
Самолёт — это не цель, а средство. Настоящая цель — это небо, горизонт, мечта.
⏺Сергей Ильюшин
Создать самолёт – это не только сложная инженерная задача, но и искусство.
⏺Павел Сухой
Мы не должны останавливаться на достигнутом, а должны неуклонно идти вперед, так как авиационные конструкции быстро устаревают, и то, что хорошо сегодня, завтра становится только удовлетворительным.
⏺Николай Жуковский
Человек не имеет крыльев, по отношению веса своего тела к весу мускулов он в 72 раза слабее птицы. Он полетит, опираясь не на силу своих мускулов, а на силу своего разума.
Какие еще цитаты вы знаете? Делимся в комментариях 👇
Лёгкое небо
#aviation#LeonardodaVinci#Suhoi#Sikorsky#Bader#AntoinedeSaintExupery#Ilyushin#Zhukovsky#quotes
Леонардо: 5 научных приёмов, которые оживляют его картины
Леонардо да Винчи — не только гениальный живописец, но и экспериментатор. Вот пять приёмов Леонардо, где наука встречается с искусством.
1. Sfumato — мягкий переход как имитация воздуха
Техника — многослойные полупрозрачные глазури, которые снимают жёсткие контуры. Эффект: края «растворяются», кожа кажется внутренне светящейся. Пример: «Мона Лиза» — та самая «улыбка» и плавные тени на щеках.
2. Кьяроскуро
техника в изобразительном искусстве, которая использует резкий контраст между светом и тенью для создания драматического эффекта и придания объёма. Так, в «Тайной вечере» направление света подчёркивает фигуры и смысловые акценты.
3. Аэроперспектива
Художник учитывал, что с удалением объекты бледнеют из-за воздуха между ними и зрителем. Это даёт достоверную глубину: ландшафт за Мона Лизой воспринимается естественно, потому что Леонардо имитирует поведение света в атмосфере.
4. Анатомия и дисекции
Многолетние вскрытия и зарисовки скелета, мышц, сосудов позволяли Леонардо точно передавать позы, напряжение и мимику. Понимание внутренней структуры тела — ключ к «живости» рук Моны Лизы или экспрессии апостолов в «Тайной вечере».
5. Материалы и технологические эксперименты
Леонардо тестировал грунты, смеси темперы с маслом и рецептуры глазурей — записывал рецепты и следил за высыханием слоёв. Это давало тончайшие оптические эффекты (блики, прозрачность), но иногда вредило сохранности (почему «Тайная вечеря» быстро пострадала).
Для Леонардо живопись — метод: наблюдение - гипотеза - проба - корректировка. Его приёмы — не трюки, а система: sfumato и аэроперспектива, анатомия и материалознание, контроль света превращают плоский холст в «живой» мир.
Он оживлял картины, потому что понимал законы видимой реальности и умел их воспроизводить кистью.
#ЛеонардоДаВинчи#LeonardoDaVinci#Ренессанс#ВысокийРенессанс#МонаЛиза#ТайнаяВечеря#ВитрувианскийЧеловек#Сфумато#ГенийВозрождения#НаукаИИскусство#ArtplayMedia#АртплейМедиа#МультимедийнаяВыставка