Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
приглашаем на вебинар «ЗАРУБЕЖНЫЕ КОНКУРСЫ И НЕДЕЛИ МОДЫ КАК ИНСТРУМЕНТ ПРОФЕССИОНАЛЬНОГО РОСТА ДИЗАЙНЕРА» 💥💥💥
18 февраля в 20.00 по мск
География мероприятий:
Гонконг
Великобритания
Польша
Италия
Венгрия
США
Новая Зеландия
По каждому конкурсу мы собрали для вас «самую полезную» информацию в одном месте, а именно👇🏼:
🌿 ссылка на официальный сайт
🌿призовой фонд
🌿критерии для работ участников
🌿необходимые сведения для заявок
🌿условия участия (бесплатное или платное, а если платное, то указана стоимость участия)
🌿заявки принимают от любой страны или круг лиц ограничен
🌿статистика: среднее количество участников
🌿есть ли специальные бонусы со стороны организаторов конкурса (оплата проезда, проживания)
🌟Запись на вебинар:
[email protected]
Вебинар проведет руководитель оргкомитета ETNOMODA IBEFF, Наталья Котер.
В конце вас ждет краткая экскурсия по нашему онлайн архиву!
#МодныйВебинар
#ibeff
#etnomodno
Осторожно, сзади бык!🐃
Такое постоянно слышат участники корриды😄👆🏼
И как раз сегодня в Португалии отмечается день рождения этого уникального зрелищного соревнования. Интересно, что местные жители называют шоу с быком - «торада».
У португальской корриды есть свои отличительные черты:
🟥на рога животного обязательно надевают кожаные чехлы,
🟥в представлении участвуют как наездники на лошадях – «кавальеро», так и пешие бойцы – «фуркадуш»,
🟥мероприятие длится несколько часов, начинается все с командной разминки, а в финале «бой» один на один – лучший игрок против быка.
Конечно, такое зрелищное событие не может не вдохновлять деятелей искусства. Многие художники, скульпторы и музыканты в своем творчестве «воспевают» красоту торады или корриды, касается это и дизайнеров❤💥
Например, в 2013 году вышла коллекция Ralph Lauren Spring Ready-to-Wear, в которой модельер переосмыслил традиционный костюм матадора, фуркадуша. Такие наряды точно не подойдут для участников зрелищного шоу, а вот для зрителей самое-то👌😜
Photo: Monica Feudi / Feudiguaineri. com
*на основе материала Vogue. com и kommersant. ru;
#этномода#etnomodno#RalphLauren#catwalk#этномодныйкалендарь#португальскаякоррида
Знаковыми изобретениями Луи Вюиттона стали прямоугольный дорожный чемодан и уникальный замок с двумя пружинами для защиты багажа. Ранее подобные сумки были неудобными для транспортировки из-за своей формы, плюс грабители легко могли забрать содержимое.
Photo: из открытых источников, Louis Vuitton
*на основе информации с сайта louisvuitton. com;
#этномода#etnomodno#луивюиттон#деньрождениядизайнера#модныйдом#LouisVuitton#этномодныйкалендарь
Что же привнёс в модную индустрию модельер?🧐🤓
🖌Он вдохновлялся художниками и размещал «их работы» на своих творениях, можно вспомнить Энди Уорхола, Роя Лихтенштейна, Ван Гога, Анри Матисса, Фернана Леже, Жоржа Брака.
🎨Представил смокинги, которые создавались с учетом особенностей женской фигуры. Его модели первыми выходили на подиум в укороченных пальто-тренчах, прозрачных блузках.
Конечно, нельзя не упомянуть про любовь Ив Сен Лорана к Востоку. Он всегда с большим трепетом относился к культуре и традициям страны, чье «наследие» отражал в своих коллекциях. Это была и Африка в 1969, Япония в 1970, Индия, Египет в 1982 году🌍✈
Ив Сен Лоран проделал огромный путь в своей карьере, его бренд до сих пор живет и радует модниц со всего света.
Photo: Musée Yves Saint Laurent, открытых источников
*на основе материала theblueprint. ru
#этномода#etnomodno#ИвСенЛоран#деньрождениядизайнера#модныйдом#YSL#этномодныйкалендарь
Среди культур, стран, народов, вдохновивших дизайнера, можно найти:
🌟Казахстан, Узбекистан и Туркменистан - Ulyana Sergeenko Couture сезона весна-лето 2014
🌟Ростов-на-Дону (+роман-эпопея Михаила Шолохова «Тихий Дон» и одноименная экранизация режиссера Сергея Герасимова, вышедшая в 1957 году) - Ulyana Sergeenko Couture сезона весна-лето 2019
🌟Грузию, Армению - Ulyana Sergeenko Couture сезона весна 2015
Большая и плодотворная работа не проходит бесследно, Ульяна Сергеенко вносит огромный вклад в развитие модной индустрии России и узнаваемость российских ремёсел.
Photo: Courtesy of Ulyana Sergeenko; Kim Weston Arnold / Indigitalimages. com; stokholm-streetstyle.
#этномода#etnomodno#ульянасергеенко#деньрождениядизайнера#модныйдом#ulyanasergeenko#этномодныйкалендарь