Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Langzeitlebensmittel - 7 Tage Notration
18% Rabatt ‼️
Dieses Paket bietet Lebensmittel für eine Person für 7 Tage. Die Hauptmahlzeiten sind gefriergetrocknet im wiederverschließbaren Standbodenbeutel und unter Schutzatmosphäre verpackt. Oberstes Gebot ist dabei: Die Energie, die wir zu uns nehmen, soll so gut wie möglich schmecken!
✔️Gerichte einfach zubereiten - nur heißes Wasser hinzufügen!
✔️Leicht zu verstauen - im stapelbaren Eimer!
✔️Leicht zu transportieren!
✔️5 Jahre Mindesthaltbarkeit
👉HIER👈
#Essen
🍞STABIL DURCH DIE KRISE🍞
Krisenvorsorge ist jetzt nötiger denn je
Auf dieser Liste finden sich zahlreiche Nahrungsmittel, die jahrelang haltbar sind (vieles davon Bundeswehrstandard):
Dosenbrot, Pumpernickel, Fertigmenüs wie Tortellini mit Hühnchen, Gemüse-Risotto, Veggie-Pfanne mit Nudeln, Kartoffelpüree mit Milch, Spaghetti Bolognese, Hühnchen mit Reis, Linsen-Eintopf, Jägertopf, Fettpulver, Vollei-Pulver, Schokolade u.v.m.
Erfahren sieHIER ✔️mehr
Kompletter Survival-Rucksack mit Regenponcho
👉HIER ✔️ 11% Rabatt ‼️
Nur noch wenige Stück auf Lager
🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤
Vorbereitet Sein⚠️
Mehr Hier ⬇️
https://t.me/seiVorbereitet
#Essen
Wo sind wir falsch abgebogen????
Bald in jeder Stadt...🤷😢
#Essen
TEILEN
Folgt mir auf Telegram
↕️↕️↕️
https://t.me/Kampf_fuer_unsere_Zukunft
Chat-Kanal
⬇️⬇️⬇️
https://t.me/IavYc2SRFdY1OGY6
Langzeitlebensmittel - 7 Tage Notration
Dieses Paket bietet Lebensmittel für eine Person für 7 Tage. Die Hauptmahlzeiten sind gefriergetrocknet im wiederverschließbaren Standbodenbeutel und unter Schutzatmosphäre verpackt. Oberstes Gebot ist dabei: Die Energie, die wir zu uns nehmen, soll so gut wie möglich schmecken!
✔️Gerichte einfach zubereiten - nur heißes Wasser hinzufügen!
✔️Leicht zu verstauen - im stapelbaren Eimer!
✔️Leicht zu transportieren!
✔️5 Jahre Mindesthaltbarkeit
👉HIER👈
#Essen
На танцевальном вечере выпускников
университета Folkwang-Hochschule
в городе Эссен
в котором я училась
на факультете современного танца почти 20 лет назад 🙈
❤️
Приятные воспоминания о студенчестве
#Essen#Germany
#Folkwanghochschule
#liubovbarykina
лето 2024
💕
Morinari Watanabe 🇯🇵 - the ninth President of the FIG
The 2025 FISU Summer World University Games Essen Germany 🇩🇪
С президентом международной
Федерации Гимнастики
Моринари Ватанабе 🇯🇵
На 32 летней Универсиаде
В Германии городе Эссене
#Essen
#Germany🇩🇪
#LiubovBarykina
#WorldUniversityGames
#MorinariWatanabe
Поздравляю великолепную
Белорусскую 🇧🇾 гимнастку
Алину Горносько
и ее великих тренеров
с ПОБЕДОЙ
На 32 летней универсиаде
В Германии городе Эссене 🇩🇪
Выступавшую в
Нейтральном статусе
https://www.instagram.com/belarus_gymnastics_association?igsh=MWtzbjgzZmhibXI2bg==
#WorldUniversityGames
#Germany
#Essen
#RhythmicGymnastics
#LiubovBarykina
#AlinaHornosko
Мне особенно приятно,
когда мои юные
ученицы-гимнастки
становятся взрослыми и
успешными, представляют
разные страны мира в спорте
и спустя годы говорят мне,
что они научились у меня выразительности,
артистизму,
эмоциональности
💃🏽💃🏽💃🏽
На видео лучшая
гимнастка Австрии
Валентина Доменик,
которая представляла
Австрию на 32 ой
летней Универсиаде в Эссене
Mir ist es besonders
angenehm, wenn meine kleinen Gymnastinnen-Schülerinnen
werden groß und erfolgreich und vertreten im Sport verschiedene
Länder der Welt.
Valentina Domenig ist beste
Österreichische Gymnastin,
die bei den World University
Games in Essen geturnt hat.
Sagte mir nach Jahren,
dass Sie Tanz,Ausdruck,
Artistik, von mir gelernt hat 😃
👍💃🏽❤️
Viele liebe Grüße an Lucia
und meine liebste Heide Bruneder, die 16 Jahre lang Präsidentin von der Europäischen Föderation der RSG war!
🌸🌸🌸
#ValentinaDomenig
#Austria🇦🇹
#WorldUniversityGames
#Germany🇩🇪
#Essen
#LiubovBarykina
#Choreographer
#Artist