TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #32 · 7 фев.

Скорее всего уже слышали, что складывать строки через + это плохая практика. Падение производительности, и всё такое. Без лишних слов, давайте измерять: 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

Резултати

Пронајдени 2 слични објави

Пребарај: #arduinostart

当前筛选 #arduinostart清除筛选

На старт, внимание, школа! 🏫 Что подарить школьнику на 1 сентября? Набор, который поможет ему разобраться в программировании и подарит билет в будущее! 🎫 Электронный конструктор ЗНАТОК для Arduino START — это первый шаг в робототехнику для детей от 7 лет. 🤖 Он помогает на практике понять принципы работы микроконтроллеров — «мозга» почти всей цифровой техники. Ваш ребёнок поработает со светодиодами, электродвигателями, лампами, сигнализациями, синтезатором звуков и другими проектами. 🎓 С этим набором можно не только собрать свои первые устройства, но и узнать 4 языка программирования: • Graph Z • C++ • Python • Scratch На USB-flash накопителе, входящем в комплект, вы найдете 46 готовых программ для 23 проектов! 💪 Узнайте много интересных фактов о звуке, свете, цвете, нотах, частотах и принципах работы известных бытовых приборов с набором ЗНАТОК для Arduino START. 🙌 ➡️ Подробнее: https://znatok.ru/shop/konstruktory/znatok-electronniy-const… Полученные знания помогут вашим детям в учёбе. А в будущем они смогут создавать новые образцы роботов, бытовой техники, компьютеров, смартфонов, работая в высокотехнологичных компаниях. А это уже не игрушки. 🤓 #знаток#ардуино#arduinostart#arduino

1+1 = 3 😯❓ Что получится, если соединить «Arduino START» и «Вездеход Лидер 4х4»? Совершенно новый набор! 🙇 Объединив эти конструкторы, у вас будет гораздо больше проектов и программ, чем в каждом из них по отдельности! 🤓 С «Вездеходом Лидер» вы построите мощный внедорожник, с набором «START» научитесь работать с Arduino — модулем, который можно запрограммировать на разные команды. Взяв два набора, вы получите возможность создать программируемый вездеход и сделать первый шаг в робототехнику! 🤖 Начинать можно уже с 5 лет, а пользу в образовании они будут приносить вплоть до 14-16 лет. 💡 1️⃣ Сначала ребёнок может просто собирать вездеход и управлять им при помощи пульта. Уже здесь можно придумывать различные увлекательные соревнования. 🏎 2️⃣ Затем при помощи набора «Arduino START» можно изучать основы программирования. Вам будут доступны четыре языка: • Graph Z • Scratch • C++ • Python 3️⃣ А теперь самое интересное! Соедините два набора и программируйте режимы движения вездехода, звука и работы фар. Он может исполнить «праздничный танец» под музыку, издать сигнал SOS (…---…) с использованием азбуки Морзе, двигаться по кругу или «змейкой» — возможности безграничны! 👨‍💻 ➡️ Инструкцию с новыми схемами можно бесплатно посмотреть и скачать у нас на сайте: https://znatok.ru/shop/konstruktory/znatok-electronniy-const… Это идеальное сочетание не только для игры, но и для дополнительного образования! 🎓 #знаток#лидер#вездеходлидер#arduinostart#arduino#ардуино