Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
Я нашла ее - идеальную тушь для своего макияжа🙌🏻
Эффект WOW был, девочки
Удлиняет, придает объём и самое главное, дарит тот самый яркий и притягательный взгляд!
Просто посмотрите на мое до и после 🤍
И все благодаря ей Pupa Vamp! Lash Extender, которую хотят все
Заказать можно здесь
Я уверенна эта тушь останется в твоей косметичке надолго!
#vamplashextender#pupamilano#pupalovers
девочки, это восторг!
никогда бы не подумала, что тушь может настолько увеличить мои ресницы, настоящий эффект вау!
тушь Pupa Mascara Vamp! Lash Extender - настоящая находка для тех, кто не хочет делать наращивание, но хотел бы иметь более яркие и густые ресницы
тушь приподнимает их, придает им объем и удлиняет на 90%!
оставляю для вас ссылку, приобрести можно будет в ЗЯ💙
#vamplashextender#pupamilano#pupalovers
найдена тушь с ВАУ-эффектом и феноменальным объёмом!
Pupa Vamp! Lash extender@pupamilanorussia:
• силиконовая щёточка прокрашивает каждую ресничку без склеивания и комочков
• густая формула подкручивает ресницы, удлиняет, даёт объём от корней
• легко наслаивается🤌🏻
• не осыпается и не отпечатывается!
• при этом легко смываемся
ну а какой красивейший футляр💜
однозначно рекомендую!
купить уже можно в Золотом Яблоке
#vamplashextender#pupamilano#pupalovers
Нереальная новая тушь от Pupa - Mascara Vamp! Lash Extender💔
я думаю без слов понятно, почему она мне так понравилась, эффект до/после просто ВАУ 💔
объем, разделение, удлинение и шикарная стойкость в течение дня а ещё супер гибкая щеточка, которая прокрашивает каждую ресничку !
Вы точно должны попробовать, а купить ее можно в РИВ ГОШ
#vamplashextender#pupamilano#pupalovers
Реклама, ООО «КОСМОТРЕЙД», ИНН: 7725628885, erid: 2VtzqvTdBkv
тестирую самую громкую новинку осени от @pupamilanorussia
тушь PUPA vamp! lash extender
• силиконовая щеточка с заостренным кончиком, прокрашивает и приподнимает ресницы от самых корней
• можно наслаивать для wow-эффекта
• насыщенный черный
• не осыпается, смывается без <эффекта панды>
уже доступна в Золотом Яблоке
#vamplashextender#pupamilano#pupalovers
😎 LASH BOSS 😎 ЗДЕСЬ?
Стойте-ка, сейчас появится та самая, которая перевернет мир...
Ах, вот и она! Тушь VAMP! LASH EXTENDER!
🔥 Непревзойденный объем
🔥 Бесконечно длинные ресницы
🔥 Насыщенный черный
Как сильно вы хотите ее попробовать от 1 до 10? А кто уже?
#pupamilano#madeinitaly#vamplashextender#vampmascara
Пришло время обновить ваши ресницы
➡️
➡️
➡️VAMP! LASH EXTENDER
Тушь, которая формирует и приподнимает ваши ресницы в измерении 3D!
Отметьте вашу лучшую подругу, которой она тоже очень нужна!
#pupamilano#madeinitaly#vamplashextender#vampmascara