Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Какой наряд вам нравится?
Слева: Шейха Моза в наряде от Ульяны Сергеенко.
Справа: Шейха Хинд (Sheikha Hind bint Hamad Al Thani) в чапане работы ташкентского ателье Мадины Касымбаевой.
Источник фото: ТГ канал darsic.com
#goingout
Этномода по-королевски 👸👑
Принцесса Беатрис с мужем Эдоардо Мапелли Моцци выбрала для ужина в ресторане The Twenty Two в Мэйфэре вот такое "этничное" платье.
Дочь принца Эндрю и Сары Фергюсон в платье Chloe и туфлях Chanel - настоящий амбассадор "этномоды"☺️
#goingout
Сегодня международный день платка и хиджаба 🧕👰
А с нами сегодня прекрасная женщина-
модель Равда Мохамед, которая в 2021 году была представлена как редактор журнала Vogue Скандинавия.
Сомалийско-норвежская модель Равда Мохамед прославилась как вдохновительница флешмоба против запрета хиджаба во Франции.
На Западе Мохамед должна была стать первой мусульманкой в хиджабе, возглавляющей модный журнал, писал The Guardian.
"Я не считаю себя исправлением чего-либо. Если я смогу помочь развитию отрасли, это будет прекрасный вклад", - сказала модель.
Равда родилась в Сомали, а в возрасте 8 лет переехала в Норвегию со своей семьей.
Став моделью, она участвовала в неделях моды в Осло, Париже и Копенгагене, снималась для Vogue США и V-Magazine.
#goingout
Когда и если будете смотреть новый сезон And Just Like That, обратите внимание на полосатый кафтан Кэрри Брэдшоу.
На съемки его прислали из Марракеша, из ателье Marrakshi Life, бренда "медленной" моды, где все ткут вручную местные ремесленники.
Платье ткали специально для героини Сары-Джессики Паркер — видео, как это происходило, есть в карусели.
#goingout#кинокостюм
Как одеваются редакторы модного глянца?
Например, как новый директор редакционного контента британского Vogue Чиома Ннади
То есть #этномодно😊
#goingout
Стереотипы на предмет выхода в оперу отступают, если опера - это Metropolitan, а светский фотограф - автор аккаунта Last night at the MET.
Мы выбрали несколько образов с этно акцентом - непринужденные и не помпезные гости оперы, которые носят свои наряды с удовольствием 🤎
#opera#goingout
Наша любая рубрика #вдогонку произошедшему ещё вчера 🙋
День рождения Sarah Jessica Parker (25 марта)
заставил вспомнить этно шик от легендарной Кэрри Брэдшоу, и вот они - образы последнего сезона, подтверждающие, что этно тренд в моде продолжает набирать обороты!
#goingout
#ЭТНОМОДА ретро-понедельник + ЭТНОМОДА по-королевски 🤴
1 июня состоялась свадьба наследника иорданского престола, принца Хусейна ибн Абдаллы и его избранницы Раджве Аль Саиф. На церемонии присутствовало большое количество гостей, в том числе, главы разных государств и монаршие особы.
Мы бы хотели отметить невероятный наряд шейхи Мозы, которая славится своим превосходным вкусом в одежде. Шейха вышла в легком плаще из кутюрной коллекции Valentino 1989, посвященной творчеству австрийского архитектора Йозефа Хоффмана, известного своими функциональными и структурными предметами декора и мебели.
Photo: Reuters, Getty Images, Valentino
#шейхамоза#valentino#свадьбаиордания#goingout#etnomoda