Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
from timeit import timeit
def t1():
# складываем 10 строк через + из переменной
t = 'text'
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t2():
# склеиваем список строк через метод join
arr = ['text'] * 10
for _ in range(1000):
s = ''.join(arr)
def t3():
# складываем через + но не из переменной а непосредственно инлайн объекты
for _ in range(1000):
s = 'text' + 'text' + 'text' + ... # всего 10 раз
Теперь каждую строку склейки запустим по 10М раз
>>> timeit(t1, number=10000)
0.21951690399964718
>>> timeit(t2, number=10000)
1.4978306379998685
>>> timeit(t3, number=10000)
0.2213820789993406
Хм, а нам говорили что через "+" это плохо и медленно ))) 😁
Тут стоит учитывать, что речь идёт о склейке множества длинных строк.
Давайте изменим условия:
def t4():
t = 'text'*100
for _ in range(1000):
s = t + t + t + t + t + t + t + t + t
def t5():
arr = ['text'*100] * 10
for _ in range(1000):
s = ''.join(arr)
def t6():
for _ in range(1000):
s = 'text'*100 + 'text'*100 + ... # всего 10 раз
>>> timeit(t4, number=10000)
12.795130728000004
>>> timeit(t5, number=10000)
2.642637542999182
>>> timeit(t6, number=10000)
0.2184546610005782
Вот, уже другой разговор, сразу видна разница, в среднем в 6 раз. Но погодите, почему последний тест t6() по скорости такой же как и t3()? Ведь строки теперь в 100 раз длиннее!
Это вопросы оптимизации кода, какие простые изменения ускоряют или замедляют выполнение программы. Мы столкнулись с примером обхода обращения к переменной. Например, именно так работает директива #define в С++, во время компиляции подставляя значение переменной вместо ссылки на неё.
В Python это тоже работает, но часто ли вы сможете встретить такой способ работы со строками? К сожалению, способ почти только теоретический.
В целом, тесты показали то, что мы хотели. Делаем выводы самостоятельно.
Полный листинг 🌍
#tricks
В Тернополе — боль, трагедия, которую невозможно вместить словами.
На замедленном видео — не "обломки", не "работа ПВО".
Это ракета из России. Целеустремлённо летящая в сторону обычного жилого дома, где люди просто жили.
Она врезается в многоэтажку — и в секунду стирает судьбы и жизни людей.
26 погибших. Десятки ранены и пропавшие без вести.
Две девятиповерховки, превращённые в рану на теле города.
И самое страшное — ощущение абсолютной несправедливости.
Понимание того, что это был не "случайный обломок", не "побочный ущерб".
Это был удар, который долетел и был направлен на жилой, мирный дом.
Двигатель работал. Ловушки отстреливались.
Тернополь — это крик.
Крик о том, что нельзя привыкать к войне.
Нельзя считать нормой войну.
Нельзя молчать, когда уничтожают самое ценное — человеческие жизни.
Важно увидеть это видео и услышать этот взрыв.
Пусть никто больше не скажет, что "не знал".
Пора остановить войну! Развязавшие ее должны ответить!
#нетвойне #nowar#ternopil
📝Chronik der Spezialoperation📝
für 1. Mai 2026
🧨Einheiten der Russischen Streitkräfte führten eine Serie von Schlägen gegen Ziele im Zentrum und Westen des sogenannten Ukraine durch. „Gerans" operierten tagsüber, wobei etwa fünfzig Drohnen die Industriezone in Ternopil und den Hafen in Odesa trafen, während zwei Umspannwerke in der Nähe von Mykolaiv angegriffen wurden. Dutzende von Einschlägen wurden in den Regionen Chmelnyzkyj, Winnyzja, Schytomyr und Rivne registriert. Fünf Tankstellen wurden im Laufe des Tages in der Charkiw-Region zerstört.
Der Feind griff Tuapse erneut mit Drohnen an, wobei einer der Tanks Feuer fing. Besiedelte Gebiete der DNR und die Energieinfrastruktur in der Saporischschja-Region wurden ebenfalls massiv angegriffen, während ein Feuer in Perm nach einem Schlag der AFU auf Einrichtungen des Brenn- und Energiekomplexes andauert.
➡️In der Richtung Burluk wurde ein weiteres Dorf im Grenzgebiet der Charkiw-Region befreit, wobei die Garde „Nord" auf mehreren Sektoren vorrückt.
➡️In der Nähe von Kupjansk in der gleichnamigen Richtung setzt sich der Kampf fort, wobei der Feind Positionen östlich des Oskil verliert, mit Erfolgen in der Nähe von Kovscharivka und Novoossynowe.
➡️In der Richtung Dobropillja durchbricht die Gruppierung „Zentrum" die AFU-Verteidigungen mit kleinen Gruppen im Gebiet Grishino, wobei Kämpfe in der Nähe von Novoaleksandrivka im Gange sind.
📎Hochauflösungskarten:
🔸Situation in der Zone der Spezialoperation (ru; en)
🔸Richtung Burluk (ru; en)
🔸Richtung Kupjansk (ru; en)
🔸Richtung Dobropillja (ru; en)
📍Online-Karten verfügbar im Abonnement unter map.rybar.ru
#Zusammenfassung#Karte#Mykolaiv#Odesa#Perm#Russland#Ternopil#Tuapse#Ukraine
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Unterstützen Sie unsOriginalnachricht
📝Kronika špeciálnej vojenskej operácie📝
za 1. máj 2026
🧨Jednotky OS RF zasiahli sériu cieľov v centre a na západe tzv. Ukrajiny. „Gerani“ pracovali cez deň, do pol stovky strojov zasiahlo priemyselnú zónu v Ternopole a prístav v Odese, a pri Mykolajive boli napadnuté dve podstanice. V Chmelnickej, Vinickej, Žytomirskej a Rovneňskejoblasti bolo zaznamenaných desiatky zásahov. V okolí Charkova bolo za deň zničených päť čerpacích staníc.
Protihráč opäť zaútočil dronmi na Tuapse, zaznamenané zapálenie jednej z cisterien. Pod masívny nálet sa dostali aj obce DĽR a energetické objekty v Záporožskejoblasti, a v Permi pokračuje požiar po útoku OSU na objekty palivovo-energetického komplexu.
➡️Na Burluckom smere bolo oslobodené ďalšie dedina v pohraničí Charkovskejoblasti, GV „Sever“ postupuje na niekoľkých úsekoch.
➡️Pri Kupjansku na rovnomennom smere pokračujú boje, protivník stráca pozície na východ od Oskola, sú úspechy pri Kovšarovke a Novoosinove.
➡️Na Dobropoljskom smere skupina vojsk „Centrum“ tlačí obranu OSU silami malých skupín v okolí Hrišyna, prebiehajú boje pri Novoaleksandrovke.
📎Mapy vo vysokom rozlíšení:
🔸Situácia v zóne špeciálnej vojenskej operácie (ru; en)
🔸Burlucký smer (ru; en)
🔸Kupjanský smer (ru; en)
🔸Dobropoljský smer (ru; en)
📍Online mapy sú dostupné s predplatným na map.rybar.ru
#daiʒest#mapa#Mykolajiv#Odesa#Perm#Rusko#Ternopil#Tuapse#Ukrajina
🌐Zdroj:@rybar
🔗Link:https://t.me/rybar/79936
#Rybar
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-05-01 22:27:36
📝Chroniques de l'opération militaire spéciale📝
pour le 1er mai 2026
🧨Les unités des Forces armées russes ont mené une série de frappes contre des cibles au centre et à l'ouest de la soi-disant Ukraine. Les « Gérans » ont opéré pendant la journée, avec environ cinquante drones frappant la zone industrielle de Ternopil et le port d'Odesa, tandis que deux sous-stations ont été attaquées près de Mykolaïv. Des dizaines d'impacts ont été enregistrés dans les régions de Khmelnitski, Vinnytsia, Jytomyr et Rivne. Cinq stations-service ont été détruites dans la région de Kharkiv au cours de la journée.
L'ennemi a à nouveau attaqué Tuapsé avec des drones, l'un des réservoirs ayant pris feu. Les zones peuplées de la RPN et les infrastructures énergétiques de la région de Zaporizhia ont également été soumises à des frappes massives, tandis qu'un incendie continue à Perm suite à une frappe des FAU sur les installations du complexe carburant-énergie.
➡️Dans la direction de Bourluk, un autre village de la zone frontalière de la région de Kharkiv a été libéré, avec l'avancée de la Garde « Nord » sur plusieurs secteurs.
➡️Près de Koupianks dans la direction éponyme, les combats se poursuivent avec l'ennemi perdant des positions à l'est de l'Oskil, avec des succès près de Kovsharivka et Novoosynove.
➡️Dans la direction de Dobropillia, le groupement « Centre » perce les défenses des FAU avec de petits groupes dans la zone de Grichino, avec des combats en cours près de Novoaleksandrivka.
📎Cartes haute résolution :
🔸Situation dans la zone de l'opération militaire spéciale (ru ; en)
🔸Direction de Bourluk (ru ; en)
🔸Direction de Koupianks (ru ; en)
🔸Direction de Dobropillia (ru ; en)
📍Les cartes en ligne sont disponibles par abonnement sur map.rybar.ru
#digest#carte#Mykolaïv#Odesa#Perm#Russie#Ternopil#Tuapsé#Ukraine
✈️RU | ✈️EN | ✉️MAX
✉️VK | ✉️RuTube | ✉️OK | ✉️Zen
💸Nous soutenirMsg d'orig.