Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять:
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
😄Feature
➖➖➖➖➖➖
🔘A feature is an element of something interesting or important.
🔜The number of parks is an important feature of the city.
It it also used as a general label for the parts of our faces.
🔘My big nose is my least favourite feature.
🔜When we want to say what is included in something, we use feature. Often it's important that they're there.
🔘This phone features an amazing camera.
🔜Just remember, we use the word feature to talk about interesting or important things.
#feature👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
😄Feature
➖➖➖➖➖➖
🔘A feature is an element of something interesting or important.
🔜The number of parks is an important feature of the city.
It it also used as a general label for the parts of our faces.
🔘My big nose is my least favourite feature.
🔜When we want to say what is included in something, we use feature. Often it's important that they're there.
🔘This phone features an amazing camera.
🔜Just remember, we use the word feature to talk about interesting or important things.
#feature👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
Grup ve kanallarda , 'Mesaj Sabitleme' ayrıcalığına sahip olan yöneticiler, 48 saatten daha eski olan iletileri düzenleyebilir:
Android ✅
Android X ✅
iOS ❌
Masaüstü ✅
macOS ✅
Webogram ❌
@Telegram#feature 02.03.2019
The last time we met
The last words you Said
were not just words ,
But bullets in my lungs .
These beautiful clouds and cold Wheather ,
Reminds me of the moments we spent together .
Celebrating first Eid in your absence ,
Makes me guilty for my existence.
Scrolling through my WhatsApp
these days,
feels that life has left me no ways
I always felt happy whenever we met ,
But now ,
Your name forces me to regret ,
Your wait compels me to forget ,
And , even your thoughts pierces my heart.
-CH.Irfan.
#review
#poem
#feature
It was 3am back then
I was laying on the bed
The Mullioned windows were open
The stars above in the night were gleaming
Suddenly onshore breeze had started
I turned off my phone and Started
Thinking of a dazzling Lady
I was devising a Scenario
of me and the graceful Lady
The scenario doesn't exist in real
But,
it gives peace In real
It gives me the Inner endearments
It gives a feeling that is forthcoming
I was fully Shifted to palace with her
That place was completely Magical
We were creating an album of Our life
And in an instant, it started Thundering
I Woke up from my pleasant Dream
The high wind started, The birds were
Moving from one tree to another
I closed my Windows
Gradually Heavy Downpour started
The Dream was left incomplete
But I made a Smile
And Thanked that period
For making me contented in
Today's Selfish World.
#review
#poem
#feature
The last time we met
The last words you Said
were not just words ,
But bullets in my lungs .
These beautiful clouds and cold Wheather ,
Reminds me of the moments we spent together .
Celebrating first Eid in your absence ,
Makes me guilty for my existence.
Scrolling through my WhatsApp
these days,
feels that life has left me no ways
I always felt happy whenever we met ,
But now ,
Your name forces me to regret ,
Your wait compels me to forget ,
And , even your thoughts pierces my heart.
-CH.Irfan.
#review
#poem
#feature
📱Figma AI orqali yangi featureʼni ishga tushirmoqda
Avtomatik o‘lchamni o‘zgartirish, tarjima qilish, variantlar yaratish, shriftlarni o‘zgartirish va bularning barchasi to‘g‘ridan-to‘g‘ri kanvasda bo‘lishi va’dasi berilmoqda.
Yangi featureʼlarni sinash uchun Alfa versiyasiga yozilmoqchiman. Agar qiziqarli narsa bo‘lsa, kanalimda yozaman.
@suxrobblog » #figma#feature#AI
🟢 Paynetdan rasmiy munosabat
...Boshqa ilovalarga oʻtishni hojati yoʻq. Boshqa dasturlarni mazasini qochiramiz! 😎 (deyaptilar, menimcha aka)
@suxrobblog » #paynet#feature
🟢Paynet uchun elektr limitini funksiyasini qo'shish uchun taklif dizayn
— Shunchaki, Paynetdan foydalanganim uchun taklif sifatida chizdim)
P.s. Dizayn paynet dasturining dizayn tizimiga asoslangan holda chizilgan. UI'dagi kamchiliklar ustida detalniy to'xtalmaganman.
#paynet#feature » @suxrobblog