Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🔒#Seguridad || Adriana Arroyo, hermana de Steven Medina, fue atacada por sicarios en el sur de Guayaquil el pasado viernes.
Los detalles ⬇️
https://www.radiopichincha.com/comite-desaparicion-forzada-asesinato-familiar-victima-caso-malvinas/
🔒#Seguridad || Violar la restricción nocturna no solo puede terminar en detención inmediata, sino también en procesos judiciales por desacato con penas de entre uno y tres años de prisión.
Los detalles ⬇️
https://www.radiopichincha.com/tres-prision-incumplir-toque-queda-ecuador/
🔒#Seguridad || La medida propuesta por el Gobierno Nacional arranca hoy (3 de mayo de 2026) a las 23:00 y se extenderá hasta el próximo 18 de este mes.
Los detalles ⬇️
https://www.radiopichincha.com/abc-toque-de-queda-quito/
🔒#Seguridad || Adriana Arroyo, hermana de Steven, torturado y asesinado en 2024, recibió disparos en la calle tercera de Las Malvinas en Guayaquil.
Los detalles ⬇️
https://www.radiopichincha.com/hermana-mayor-uno-de-ninos-caso-cuatro-malvinas-asesinada-guayaquil/
🔒#Seguridad || Las instituciones de educación superior deberán tomar medidas similares para resguardar a los estudiantes, profesores y personal administrativo.
Los detalles ⬇️
https://www.radiopichincha.com/toque-de-queda-jornadas-nocturnas-en-instituciones-educativas-deberan-concluir-a-las-2130/
🔒#Seguridad || En Machala, Buena Fe, Guayaquil y Quito, los sicariatos dejaron una huella trágica en medio del feriado.
Los detalles ⬇️
https://www.radiopichincha.com/hechos-violentos-feriado-resumen-nacional-urgente/
🔒#Seguridad || La investigación se centrará en los mensajes, llamadas y archivos guardados en los celulares, que podrían revelar la coordinación previa del asalto.
Los detalles ⬇️
https://www.radiopichincha.com/juez-autorizo-extraer-informacion-celulares-diablito-lara-asalto-armado/
🔒#Seguridad || El presidente Daniel Noboa decretó toque de queda nocturno en nueve provincias. La medida regirá del 3 al 18 de mayo, de 23:00 a 05:00. Solo podrán circular servicios de salud y fuerza pública.
Los detalles ⬇️
https://www.radiopichincha.com/gobierno-oficializa-toque-queda-nocturno-nueve-provincias/
🔒#Seguridad | El juez dispuso la intervención de defensores públicos para evitar nuevas postergaciones dentro de este proceso.
Los detalles 🔽
https://www.radiopichincha.com/caso-blasti-abril-audiencia-droga-empresa-familia-noboa/
🔒#Seguridad | Los crímenes ocurrieron en las ciudades costeras de Manta, Portoviejo, Chone, Machala y Santa Rosa.
Los detalles 🔽
https://www.radiopichincha.com/fin-semana-terror-15-personas-asesinadas-ataques-armados/
🔒#Seguridad | El cadáver fue encontrado en los asientos traseros de un carro abandonado en la ciudadela La Saiba. La Policía investiga las causas del fallecimiento.
Los detalles 🔽
https://www.radiopichincha.com/hallan-hombre-sin-vida-dentro-vehiculo-sur-guayaquil/
🔒#Seguridad | La Policía señaló que el bus no tenía las cámaras activadas, lo que ha dificultado identificar a los criminales.
Los detalles 🔽
https://www.radiopichincha.com/delincuentes-asesinaron-pasajero-bus-quevedo-balacera-manta/