Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🎃✨ ХЕЛЛОУИНСКИЙ РОЗЫГРЫШ #magicalpower! ✨🦇
Готова почувствовать себя настоящей ведьмочкой из Trix? 💜 В честь Хеллоуина мы приготовили 3 магических подарка 🧚♀️
Хочешь увеличить шансы? Приглашай друзей по реферальной ссылке, которую пришлёт бот! Каждый подписавшийся +1 шанс на победу! 🔮
💫 Разыгрываем три бокса из наборов: подарочный набор Sisters Power Gift Set и набор кистей Witch Essentials #magicalpower
👻 Как принять участие
1. Подписаться на канал @sodamakeup и не отписываться до окончания розыгрыша 🍂
2. Нажать кнопку "Участвовать" в конце поста 😶🌫️
Розыгрыш проводится на территории РФ.
🎃 Удачи всем феям и ведьмочкам ! 🌙
Участников: 1228
Призовых мест: 3
Дата розыгрыша: 18:00, 31.10.2025 MSK (завершён)
Победители розыгрыша:
1. Lillac - 46vopu
2. юля - 461i9i
3. ❤️ - 45tih7
Пришло время выбрать, на чьей ты стороне...
🌈 Нежность, яркость, очарование фей Винкс?
Познай магию дружбы и гори ярче звезд с Блум, Стеллой, Флорой, Музой, Текной и Лейлой!
⚡А может дерзость, загадка и темная эстетика Трикс?
Гипнотизируй, провоцируй и управляй вместе с Дарси, Сторми и Айси!
Какую бы бьюти-магию ты ни выбрала, главное, что ты с SODA — ведь только вместе мы сильны 💖
SODA x WINX: CHOOSE YOUR SIDE!
#magicalpower
🤩Нана Осаки одобряет! Твой рок-макияж с Soda 🤩
Эстетика Nana — это про страсть, музыку и бескомпромиссный стиль. Повтори фирменные черты Осаки Наны с нашими маст-хэвами:
🤩 Взгляд с характером: Кремовая подводка Miraculous, 301 или маркер S-CLASS, 201 regressor — плотный черный для глубокого, пронзительного взгляда.
🤩 Глубина цвета: Палетка Beware Of Witches #magicalpower даст нужные оттенки для создания фирменного smoky eye.
🤩 Губы: Нанеси вельветовую помаду Hypnotizing #magicalpower, 101 Riven для матового, драматичного эффекта.
🤩Детали: Добавь немного панка с металлическими заколками Fire Hearts!
Ready to rock? 🎸
#sodainspiration
А мы тут узнали, что ученые открыли новый цвет, Olo... И очень вдохновились! Он похож на Tiffany Blue и бирюзовый Pantone 15-5519, но по сравнению с Olo они менее насыщенные ❤️
Вне лаборатории его пока не увидеть, но мы на 99% уверены, что уже видели что-то похожее в коллекции SODA x WINX 🤔
#sodainspiration#magicalpower
А ведь мы еще не разыгрывали аксессуары из новой коллекции 👀 Пора это исправить!
Разыгрываем три бокса, в каждом будет три аксессуара, тинт и жидкие тени 💕
Как поучаствовать?
1. Подписаться на канал @sodamakeup и не отписываться от него до окончания розыгрыша ☀️
2. Нажать кнопку "Участвовать" в конце поста
😍
⚡ Кстати, если вы хотите повысить свои шансы на победу, то приглашайте друзей подписаться по реферальной ссылке, которую пришлет бот. Каждый подписавшийся по вашей ссылке это +1 шанс!
*Розыгрыш проводится на территории РФ.
💏 Результаты 26 апреля в 18:00 по мск, будет 3 победителя!
Всем удачи 💋
#sodateam#magicalpower
Участников: 2384
Призовых мест: 3
Дата розыгрыша: 18:00, 26.04.2025 MSK (завершён)
Победители розыгрыша:
1. Настя . - 2vutr5
2. Наталия Седельникова - 312m6e
3. пустота - 2vt2bk
Новая коллекция требует розыгрыша, согласны?
❤️
Разыгрываем три бокса, в каждом будет три(!) новых палетки, жидкий хайлайтер с Блум Dragon Flame, помада с Блум Fire Vortex и палетка для лица с Флорой Swirl Of Petals 😘
Как поучаствовать?
1. Подписаться на канал @sodamakeup и не отписываться от него до окончания розыгрыша 🌸
2. Нажать кнопку "Участвую" в конце поста 🐾
3. Проявлять активность 😇
⚡️ Кстати, если вы хотите повысить свои шансы на победу, то приглашайте друзей подписаться по реферальной ссылке, которую пришлет бот. Каждый подписавшийся по вашей ссылке это +1 шанс!
*Розыгрыш проводится на территории РФ.
🫦 Результаты 1 апреля в 18:00 по мск, будет 3 победителя!
Всем удачи 💋
#sodateam#magicalpower
Участников: 4243
Призовых мест: 3
Дата розыгрыша: 18:00, 01.04.2025 MSK (завершён)
Победители розыгрыша:
1. Мария - 2p9n8m
2. 𝒪𝓂𝑔 𝒳𝒟 #ℳℛ𝒦𝒮 #𝒮𝒲ℰℰℰ𝒢 #+ℛ𝒶𝓅 - 2p991c
3. Ефим Кондаков - 2pbe66
Ну вот, теперь все секреты раскрыты! Угадали цвета палетки? Уже думаете над образами, которые с ней можно создать? ☺️
Между нами, новая коллекция уже стоит в моно бутике Soda в Авиапарке и разъезжается по летуалям, так что ожидайте в своём городе 😉
#sodateam#magicalpower
Наконец-то и на улице весна, поэтому спешим доставать обе палетки с феечками для поиска всех-всех розовых оттенков: Heart of Alfea и Magical Dust 🌸
#magicalpower#sodatips
Зима вернулась на улицы только для того, чтобы мы показали макияж в стиле Айси новой палеткой Beware Of Witches❄️
Повторяем, пока снег лежит?
#magicalpower#sodatips