Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🕯️Траурный митинг: День скорби по жертвам российской агрессии
24 февраля 2026 года исполняется четыре года с начала полномасштабного вторжения России в Украину. Присоединяйтесь к нашей акции, чтобы почтить память погибших и поддержать тех, кто продолжает бороться за свободу Украины.
🤩 Мы соберёмся, чтобы выразить единство в противостоянии российской агрессии и скорбь по жертвам войны в Украине и в России.
🤩 Кремлёвский режим унёс сотни тысяч жизней, уничтожает мирных жителей, военнопленных, гражданских активистов и политзаключённых. Мы скорбим со всеми, кто потерял близких, покинул дом, оказался в плену или подвергся пыткам.
🔥 В рамках акции также состоится поминальная служба по жертвам войны.
😀Помощь Украине – наш долг!
Мы продолжаем сбор средств на «Энергию для жизни» (мини-электростанции) и на нелетальную помощь защитникам Украины.
Также мы призываем правительства Германии и Европы максимально усилить военную помощь Украине. Только так путинский режим можно принудить к справедливому миру и предоставить Украине реальные гарантии безопасности.
Спасение Украины – спасение Европы!
📅24 февраля
🕓 19:30–21:00
📍Grabbeplatz, 40213 Düsseldorf
Мы скорбим вместе со всеми, кто потерял близких и здоровье за эти 12 лет войны, и по всем жертвам путинской агрессии и террора.
Приносите с собой плакаты, цветы и поминальные свечи.
🇺🇦Героям слава!
☠️ Убийцам позор!
#StopPutinsTerror#SaveUkraine#energy4life#WeStandWithUkraine
2 марта в 25 городах Италии прошли митинги в поддержку Украины. Их организаторы — партия Azione di Carlo Calenda и диаспоры Украины в Италии — выступили в Риме на митинге, совместно с представителями Stati Uniti d'Europa, Azione, +Europa, Italiani Radicali, Liberi Oltre, Partito Democratico, fondazione Einaudi и др.
Russi Contro la Guerra также представили свою позицию по вопросу и рассказали о несогласных в России с политикой Путина, войной и бесчеловечными условиями содержания пленных. Мы активно выразили солидарность с Украиной и обратились к Италии и ЕС с просьбой усилить поддержку Украине в этот нестабильный период.
Видео
https://m.youtube.com/watch?v=hw9gEGigQw0
#russicontrolaguerraitalia
#SaveUkraine
#People1st
#rawitaly
#FreeRussiansGlobal
23 февраля, накануне третьей годовщины полномасштабной войны России против Украины, в центре Рима прошла антивоенная акция THREE YEARS OF TERROR.
Акцию организовали активисты Russi Contro la Guerra совместно с объединением демократических диаспор Free Russians Global Свободные россияне / Free Russians Global . В своих выступлениях участники говорили о проблемах и трагедиях, которые уже три года не теряют актуальность: нечеловеческие условия содержания украинских военнопленных в российских тюрьмах, огромные тюремные сроки за инакомыслие в России, депортация детей с оккупированных украинских территорий, тотальная прокремлевская пропаганда, бомбардирующая граждан как внутри России, так и в других странах.
Активисты зачитали письма и обращения российских политических заключенных. Вот отрывок из последнего слова Алексея Горинова: «Насилие, агрессия, порождают только ответное насилие и ничего более. Вот истинная причина наших бед, страданий, наших бессмысленных жертв, разрушений объектов гражданской и промышленного инфраструктуры, наших жилищ. Давайте прекратим эту кровавую, никому не нужную бойню — ни нам, ни жителям Украины. Не пора ли оставить в покое наших соседей и заняться своими внутренними проблемами, которые нарастают, как снежный ком».
Через три года войны, когда резко меняется мировая политическая ситуация, эта акция около Римских форумов, в историческом центре европейской цивилизации, напомнила: белое – это белое, а черное – это черное. Агрессор остается агрессором, военных преступников необходимо судить, а христианская религия и церковь – это не рупор тезисов государственной власти.
В ходе акции собирали средства на закупку портативных электростанций для больниц и школ Украины (благотворительный проект «Энергия для жизни» Антивоенный Комитет России ),
После окончания акции желающие присоединились к большому шествию, организованному украинской диаспорой.
#3yearsofterror#rawitaly#russiagainstwar#WeStandwithUcraine
#russicontrolaguerra
#People1st#stoppropaganda#SaveUkraine