Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
🌎 Carved into towering cliffs in Mali, the villages of the Dogon people are famous for their complex cosmology and creation myths. Ethnographers recorded beliefs about the Sirius star system and ancestral spirits called Nommo in the early 20th century, making Dogon legends a focus of anthropological study. ✨
#Dogon⚡#mythology⚡#anthropology⚡#Africa
👉subscribe Interesting Planet
👉more Channels
L'Orchestre Kanaga de Mopti — L'Orchestre Kanaga de Mopti (Mali Kunkan, 1977)
#funk#afrobeat#griot#dogon#Mali
В 1977 году малийский правительственный лейбл Mali Kunkan выпустил серию пластинок, среди которых был и этот священный Грааль малийской музыки. Ансамбль происходит из города Мопти и назван по имени большой церемониальной маски Канага народа Догонов.
На первой стороне пластинки первым идет трек Kulukutu, вокальное вступление которого посвящено празднованию бракосочетания. Композиция N'Do N'Do обычно сопровождает танец, исполняемый детьми в дни Рамадана. Завершает первую сторону трек Sare Mabo о ткачах племени Догонов.
Вторая сторона открывается композицией Kanaga, рассказывающей о маске Догонов и танцорах, которые носят ее во время ритуальных церемоний. Затем следует песня в стиле певцов-гриотов Gambari, исполняемая во время свадебной церемонии и восхваляющая могущество жениха. Завершающий трек Sory Bamba посвящен лидеру группы Сори Бамба.
Spotify | AppleMusic | VK
TASTE OF AFRICA | Мифология догонов: лад и ритм мира 🌌
Догоны (Мали, Западная Африка) 🇲🇱 создали одну из самых глубоких космологий региона - систему, где мир держится на равновесии, а человек участвует в его сохранении через общину, ритуал и память предков 🧬🤝
Если смотреть современным взглядом, здесь легко увидеть параллели с идеей «ритмов» - как языка сонастройки человека и мира.
✨ Лад, соразмерность и «резонанс»
Догоны мыслят Вселенную как устроенную и связанную: гармония возникает там, где части согласованы между собой⚖️
Красота в понятиях догонов это ощущение правильной собранности, а образ космического яйца в мифах - символ цельного мира, где всё занимает своё место.
💧 Амма и Номмо: сотворения жизни
✨Амма - верховный творец, источник начала.
💧Номмо - первосущества/предки-духи, связанные с водой, дождём, очищением и плодородием. В символическом смысле это силы, которые приносят жизнь, порядок и “человеческий уклад”: речь 🗣️, общинность 🤝, земледельческий ритм 🌾
🦊 Юругу: тень мира и причина действовать - фигура разлада и одиночества. Он не «злодей из сказки», а напоминание: хаос всегда возможен, поэтому гармония - это работа, а не данность 🔁
👥 Двойственность и близнецы: баланс как принцип
Для догонов важна парность: мужское/женское, день/ночь ☀️🌙, сухое/влажное - мир держится на дополняющих полюсах.
👥 Образ близнецов здесь - знак правильной соразмерности: противоположности не уничтожают друг друга, а собирают целое.
Ритуал как «технология перехода»
Космология догонов - практический способ жить.
🎭 Масочные и поминальные обряды (например, dama) помогают общине пройти переходы - жизнь/смерть, утрата/восстановление - и удержать связь с предками 🕊️
🕯️ Большие циклические церемонии вроде Sigi (проходят раз в 60 лет!!!) часто описывают как обновление коллективной памяти: повторение основания мира, чтобы мир снова «собрался»
Вывод: мифология догонов напоминает:
реальность держится на ритме и ладе:
в природе 💧🌾,
в обществе 🤝
в человеческой жизни 🔄.
А красота - переживание соразмерности частей и целого✨
Для вас миф - это прежде всего история 📖 или способ удерживать равновесие ⚖️?
Пишите в комментариях🙏
🌟Ритмическое путешествие продолжается – Dogon🌟
#TasteOfAfrica#Dogon#Mali#AfricanHeritage#Mythology#Cosmology#Ritual#Dama#Sigi#Африка#Культура#Ритм#Красота#Традиции