Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
📰 NEWS | Venezuela Deploys Nationwide Task Force After Heavy Rains Cut Off Thousands and Damage Road Infrastructure
Torrential rains have caused widespread flooding and landslides in the states of Mérida, Trujillo, Barinas, Portuguesa, and Táchira. The intense weather has cut off thousands of families and severely damaged road infrastructure.
In response, President Nicolás Maduro activated a nationwide task force involving the armed forces, local governments, and communal organizations. Authorities reported 25 collapsed bridges—16 completely destroyed—and 370 affected homes, with a third totally lost.
🔗 Read the full report here: https://shorturl.at/oP4bE
#DisasterAid#Flooding
🌍 Rapid melting of glaciers is raising global sea levels faster than expected, contributing to increased flooding risks in coastal cities and threatening freshwater supplies for millions worldwide. ✨
#climate⚡#glaciers⚡#flooding⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In 2022, two major floods in Pakistan covered about one-third of the country, displacing over 33 million people—one of the largest human impacts from a single natural disaster this decade. ✨
#disasters⚡#flooding⚡#climate⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Nearly 90% of the world’s wetlands have disappeared since 1700, shrinking vital habitats and reducing natural flood protection for millions of people living downstream. ✨
#wetlands⚡#extinction⚡#flooding⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 In 2023, Cyclone Mocha became one of the strongest storms ever recorded in the North Indian Ocean, with winds over 250 km/h, causing severe flooding and reshaping coastal landscapes. ✨
#disaster⚡#cyclone⚡#flooding⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Venice’s famous canals are threatened by sea level rise—since 1900, water has climbed over 30 centimeters, making floods more frequent and putting historic buildings at risk. ✨
#Venice⚡#erosion⚡#flooding⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
#Indonesia#flooding#rain#ecology#weather#climate#destruction#anomaly#climatechangey
🇮🇩 Наводнение в районе Реджанг-Лебонг (Бенгкулу, 7 мая 2026 года)
🌧 Наводнение произошло в районе Реджанг-Лебонг, провинция Бенгкулу, Индонезия. Сильные дожди привели к затоплениям и нарушениям движения.
🌊 Повышение уровня воды затронуло жилые районы и местную инфраструктуру.
Подобные наводнения могут усилиться из-за экстремальных осадков и стать более частыми в результате изменения климата.
#Tajikistan#flooding#rain#ecolog#weather#climate#destruction#anomaly#climatechangey
🇹🇯 Наводнение в Душанбе (30 апреля 2026 года)
🌧 Сильные дожди привели к наводнению в городе Душанбе, Таджикистан. Интенсивные осадки вызвали затопление улиц и нарушили транспортное сообщение.
🌊 Текущая вода повлияла на повседневную жизнь и городскую инфраструктуру.
Такие экстремальные осадки могут указывать на увеличение частоты опасных погодных явлений, связанных с изменением климата.
#China#Flooding#Fujian#HeavyRain#Floods#climate#destruction#anomaly#climatecrisis
🇨🇳Наводнение в провинции Фуцзянь, Китай🌧️
🌊 23 апреля 2026 года сильные дожди продолжались в Фуцзяне и соседних регионах, вызывая локальные наводнения на улицах и в низменных районах. Видео показывают затопленные дороги и дренажные системы, работающие на полную мощность.
📅 По данным Министерства водных ресурсов Китая и государственного телеканала CCTV, наводнения ожидаются в апреле-мае 2026 года в Фуцзяне, Чжэцзяне и дельте реки Чжуцзян, причем уровень воды может превысить предупредительные пороги.
ℹ️ В настоящее время нет официальных сообщений о крупных жертвах или широкомасштабных разрушениях в Фуцзяне в последние дни, но местные метеорологические службы продолжают следить за ситуацией.
📎 Источник: Reuters
#Afghanistan#flashflood#flooding#waterflow#transport#danger#extremeweather#weatheranomaly#climatechange#climate#destruction#anomaly#climatecrisis#weather
🇦🇫Афганистан — Мощный поток воды перевернул автобус на шоссе Герат–Кабул
🌊 28 марта 2026 года автобус с пассажирами пытался пересечь затопленный участок шоссе Герат–Кабул, но был смыт мощным потоком воды.
🚌 На кадрах видно, как транспортное средство теряет устойчивость и переворачивается, создавая опасную ситуацию для находившихся внутри людей.
⚠️ Подобные инциденты происходят во время ливневых паводков, когда уровень воды и интенсивность потока могут быстро возрастать, делая пересечение дорог чрезвычайно опасным.