Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
ASTROKNIGHT CARDS | ASTROKNIGHT EXCLUSIVE | ХУГО ВЛАД | ZENLESS ZONE ZERO
by LIVIL
Долгожданная карточка для тех, кто оформлял предзаказ на нендороид Хуго Влада
Все, кто заказал нендороид до выхода карточки обязательно её получат
🌟Условия получения:
— Действует по 30.06.26
— Оформление предзаказа (достаточно оплатить депозит) на нендороид Хуго Влада
— Предзаказ можно оформить только на сайте по 30.06.26!
— Предзаказ через бот закрыт!
— Размер а6
— Высылаться карточка будет вместе с нендороидами
🌟 Товар на сайте: тык
#cards@astroknightshop
ASTROKNIGHT CARDS | ASTROKNIGHT EXCLUSIVE | РАФАЭЛЬ | LOVE AND DEEPSPACE
by —AkiSaari—
— Долгожданная карточка для тех, кто оформлял частичные взносы за нендороид Рафаэля
— Размер а6
— Высылаться карточка будет вместе с нендороидами
— На выбор карточка с подписью и без, о выборе сообщить в @astromanagers
#cards@astroknightshop
ASTROKNIGHT CARDS | ASTROKNIGHT EXCLUSIVE | САЙЛУС | LOVE AND DEEPSPACE
by —AkiSaari—
— Долгожданная карточка для тех, кто оформлял частичные взносы за нендороид Сайлуса
— Размер а6
— Высылаться карточка будет вместе с нендороидами
— На выбор карточка с подписью и без, о выборе сообщить в @astromanagers
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | ЧИСА | WUTHERING WAVES
16+
Карточка by RINGEKO
Обратная сторона by —AkiSaari— (будет в комментариях позже)
Условия получения:
— Заказ WuWa от 3000 рублей
— Участвуют только разовые платежи, без суммирования (т.е. покупка на 3000 и больше за раз)
— Действует с 23.03.26 по 06.04.26
— Размер открытка
— Готова карточка будет через 1.5-2.5 месяца {после окончания срока действия карточки}
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | АСТРА ЯО | ZENLESS ZONE ZERO
Карточка by RINGEKO
Обратная сторона by —AkiSaari— (будет в комментариях позже)
Условия получения:
— Заказ ZZZ от 3000 рублей
— Участвуют только разовые платежи, без суммирования (т.е. покупка на 3000 и больше за раз)
— Действует с 23.03.26 по 06.04.26
— Размер а6
— Готова карточка будет через 1.5-2.5 месяца {после окончания срока действия карточки}
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | ИСКРА | HONKAI STAR RAIL
Карточка by RINGEKO
Обратная сторона by —AkiSaari— (будет в комментариях позже)
Условия получения:
— Заказ Honkai Star Rail от 3000 рублей
— Участвуют только разовые платежи, без суммирования (т.е. покупка на 3000 и больше за раз)
— Действует с 23.03.26 по 06.04.26
— Размер а6
— Готова карточка будет через 1.5-2.5 месяца {после окончания срока действия карточки}
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | СКИРК | GENSHIN IMPACT
Карточка by RINGEKO
Обратная сторона by —AkiSaari— (будет в комментариях позже)
Условия получения:
— Заказ Genshin Impact от 3000 рублей
— Участвуют только разовые платежи, без суммирования (т.е. покупка на 3000 и больше за раз)
— Действует с 23.03.26 по 06.04.26
— Размер а6
— Готова карточка будет через 1.5-2.5 месяца {после окончания срока действия карточки}
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | ПЕРЛИКА | ARKNIGHTS: ENDIELD
Карточка by RINGEKO
Обратная сторона by —AkiSaari— (будет в комментариях позже)
Условия получения:
— Заказ Endfield от 3000 рублей
— Участвуют только разовые платежи, без суммирования (т.е. покупка на 3000 и больше за раз)
— Действует с 23.03.26 по 06.04.26
— Размер а6
— Готова карточка будет через 1.5-2.5 месяца {после окончания срока действия карточки}
#cards@astroknightshop
ASTROKNIGHT EXCLUSIVE | ASTROKNIGHT CARDS | ВОСКРЕСЕНЬЕ | HONKAI STAR RAIL
Открытка by—AkiSaari—
Условия получения:
— Оформление предзаказа на фигурку Воскресенья (Вер. Live 2025)
* Достаточно оформить депозит для предзаказа
— Действует с 06.03.26 по 10.04.26
— Формат открытки
— Карточка будет высылаться вместе с фигуркой
#cards@astroknightshop
🆕🆕🆕🆕🆕$CARDS is on Fire!
⚡️ Smart entry, big potential
⚡️ Strong community backing
⚡️ Solana ecosystem ka next gem
Chart dekho 📈 — momentum real hai!
Abhi early ho ya late… winners wahi hain jo move karte hain.
💎 Early buyers already locking profits
🌐 Liquidity growing every hour
🕒 Timing is everything — don’t miss out
📊 $CARDS could be the next breakout star
▶️Don’t miss the pump!
🔤🔤
https://web3.okx.com/zh-hans/token/solana/CARDSccUMFKoPRZxt5vt3ksUbxEFEcnZ3H2pd3dKxYjp
CA. CARDSccUMFKoPRZxt5vt3ksUbxEFEcnZ3H2pd3dKxYjp
#Solana#Crypto#CARDS#Pump
🎴Карточки: как стать профессионалом в мире бизнеса с Высшей школой бизнеса и предпринимательства
🏛 Высшая школа бизнеса и предпринимательства при Кабинете министров Узбекистана в карточках рассказала о преимуществах и направлениях обучения.
#GraduateSchool#Cards#Professional#MassMedia
Web-site | Telegram | Facebook | Instagram
https://www.spot.uz/ru/2024/03/27/business-school/