Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🔥🔄 Ускоряем цикл в Python в 33000 раз
python почти всегда позволяет решить одну задачу разными способами, тут-то самое время вспомнить о map!
Многие утверждают, что map более безопасный, быстрый, и вообще - это база. Проверим? Сгенерируем тренировочный список из 100000 отрицательных и положительных чисел.
- For Loop
- List Comprehension
- Map
Феноменально, при работе со встроенными функциями, map не просто в лидерах, он в 12000 раз быстрее! Может остальные методы нам и вовсе не нужны?
🔵 Давайте проверим map на невстроенных функциях, например, возведем элементы в квадрат.
- For Loop затратит
- List Comprehension -
- Map (используем lambda):
Это ли не чудо? Map быстрее в 33000 раз! Мы вам скажем, по секрету, что map вообще-то не очень жалует использование lambda (это несколько снижает скорость). А если бы мы преобразовали возвращаемый map объект в список, то затраченное время стало бы примерно таким же, как у list comprehension. Но! Map очень любит работать с готовыми функциями, в том числе с определенными пользователем. Поэтому напишем функцию
- List Comprehension:
- Map
Никого уже, наверное, не удивляет, map опять быстрее, в 20000 раз. Причем обратите внимание, ускорилась работа list comprehension -
🟣 Последнее, что мы еще не проверили, это добавление условий. Допустим, в результирующем списке должны быть только те числа, квадраты которых кратны 8.
- For Loop отработает за
- List Comprehension за
- Map, увы, не позволит сделать нам ничего подобного. Она может невероятно быстро применить функцию к каждому элементу массива, но удалить элемент - не может. Для таких случаев есть filter:
Ну что же, можно забывать про list comprehension и циклы, зачем они вообще нужны, когда есть map и filter, которые всегда в тысячи раз быстрее. Да?
Нет! Наверняка, знакомые с функцией map, уже хотят подловить нас на обмане. А именно, map никогда не возвращает список, только
Да, ни в одном из наших примеров, мы не формировали из возвращаемого
#python
python почти всегда позволяет решить одну задачу разными способами, тут-то самое время вспомнить о map!
Многие утверждают, что map более безопасный, быстрый, и вообще - это база. Проверим? Сгенерируем тренировочный список из 100000 отрицательных и положительных чисел.
lst = random.sample(range(-10000000, 10000000), 100000)
🟢 А теперь воспользуемся тремя методами и применим к списку встроенную функцию abs
.- For Loop
lst_pos = []Время работы:
for i in lst:
lst_pos.append(abs(i))
7.98 ms
.- List Comprehension
lst_pos = [abs(i) for i in lst]Время работы:
5.07 ms
.- Map
lst_pos = map(abs, lst)Время работы:
419 ns
.Феноменально, при работе со встроенными функциями, map не просто в лидерах, он в 12000 раз быстрее! Может остальные методы нам и вовсе не нужны?
🔵 Давайте проверим map на невстроенных функциях, например, возведем элементы в квадрат.
- For Loop затратит
23 ms
.- List Comprehension -
20.9 ms
.- Map (используем lambda):
map(lambda x: x**2, lst)
Время работы: 628 ns
.Это ли не чудо? Map быстрее в 33000 раз! Мы вам скажем, по секрету, что map вообще-то не очень жалует использование lambda (это несколько снижает скорость). А если бы мы преобразовали возвращаемый map объект в список, то затраченное время стало бы примерно таким же, как у list comprehension. Но! Map очень любит работать с готовыми функциями, в том числе с определенными пользователем. Поэтому напишем функцию
pow2
, которая принимает x
и возводит его в квадрат - x * x
.- List Comprehension:
[pow2(x) for x in lst]
Время: 8.6 ms
.- Map
map(pow2, lst)
Время: 401 ns
.Никого уже, наверное, не удивляет, map опять быстрее, в 20000 раз. Причем обратите внимание, ускорилась работа list comprehension -
8.6 ms
против 20.9 ms
, хотя делали мы одно и то же, просто разными способами. Берем на заметку!🟣 Последнее, что мы еще не проверили, это добавление условий. Допустим, в результирующем списке должны быть только те числа, квадраты которых кратны 8.
- For Loop отработает за
26.3 ms
.- List Comprehension за
25.8 ms
.- Map, увы, не позволит сделать нам ничего подобного. Она может невероятно быстро применить функцию к каждому элементу массива, но удалить элемент - не может. Для таких случаев есть filter:
filter(lambda x: x**2 % 8 == 0, lst)
И время: 542 ns
.Ну что же, можно забывать про list comprehension и циклы, зачем они вообще нужны, когда есть map и filter, которые всегда в тысячи раз быстрее. Да?
Нет! Наверняка, знакомые с функцией map, уже хотят подловить нас на обмане. А именно, map никогда не возвращает список, только
map object
, и это именно то, что отличает его от “конкурентов” и позволяет map оставаться впереди. Да, ни в одном из наших примеров, мы не формировали из возвращаемого
map object
- список. Это существенно замедлило бы работу map, но даже если сделали бы - map все равно остался бы быстрее приблизительно в 1,5 - 2 раза (опять же, кроме случаев с использованием lambda). Но если вам так же, не нужны все вычисляемые значения сразу - выбирайте map, и тоже будете быстрее в 33000 раз!#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🎓💻 Лучшие известные программисты всех времен
0️⃣ Изобретатель языка программирования Python, Ван Россум — один из известных программистов, оказавших неизгладимое влияние на мир программирования. Ван Россум вырос в Нидерландах, и там же он получил образование. Он получил степень магистра математики и информатики в Амстердамском университете. Не только в Python, Ван Россум также внес свой вклад в развитие языка ABC. В 1989 году он разработал Python, когда искал хобби-проект, чтобы провести выходные. Так работают гении?
1️⃣ Финно-американский программист Линус Торвальдс - создатель ядра Linux и системы управления версиями Git. В 1994 году Торвальдс презентовал перед студентами Хельсинкского университета Linux 1.0 (её исходники лежат на kernel.org). Этот был первый стабильный релиз, пригодный для коммерческого использования. Предыдущие версии OC с завидной регулярностью выдавали баги, но теперь всё изменилось.
В 2014 году самый популярный дистрибутив Ubuntu отчитался, что его используют 22 миллиона пользователей. Linux стала самой популярной не только в коммерческой среде, но и в сфере высших достижений. Все самые мощные машины из рейтинга топ-500 суперкомпьютеров работают на Linux.
Сегодня всего устройств на Linux насчитывается от 3 до 3,5 миллиардов. Так что дело Торвальдса точно можно назвать успешным.
#python
0️⃣ Изобретатель языка программирования Python, Ван Россум — один из известных программистов, оказавших неизгладимое влияние на мир программирования. Ван Россум вырос в Нидерландах, и там же он получил образование. Он получил степень магистра математики и информатики в Амстердамском университете. Не только в Python, Ван Россум также внес свой вклад в развитие языка ABC. В 1989 году он разработал Python, когда искал хобби-проект, чтобы провести выходные. Так работают гении?
1️⃣ Финно-американский программист Линус Торвальдс - создатель ядра Linux и системы управления версиями Git. В 1994 году Торвальдс презентовал перед студентами Хельсинкского университета Linux 1.0 (её исходники лежат на kernel.org). Этот был первый стабильный релиз, пригодный для коммерческого использования. Предыдущие версии OC с завидной регулярностью выдавали баги, но теперь всё изменилось.
В 2014 году самый популярный дистрибутив Ubuntu отчитался, что его используют 22 миллиона пользователей. Linux стала самой популярной не только в коммерческой среде, но и в сфере высших достижений. Все самые мощные машины из рейтинга топ-500 суперкомпьютеров работают на Linux.
Сегодня всего устройств на Linux насчитывается от 3 до 3,5 миллиардов. Так что дело Торвальдса точно можно назвать успешным.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🦎🤖 Lambda – функции
Сегодня пробуем на вкус еще одну фишку питона. Показываем, как ее использовать и с чем сочетать, чтобы стало еще вкуснее.
#python
Сегодня пробуем на вкус еще одну фишку питона. Показываем, как ее использовать и с чем сочетать, чтобы стало еще вкуснее.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
Python_и_DevOps_Ключ_к_автоматизации_Linux_2022_Ной_Гифт,_Кеннеди.pdf
8.1 MB
📙🦖🐧 Python и DevOps: Ключ к автоматизации Linux
Авторы: Ной Гифт, Кеннеди Берман, Альфредо Деза, Григ Георгиу. 2022
За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования.
Это практическое руководство научит вас использовать Python для повседневных задач администрирования Linux с помощью наиболее удобных утилит DevOps, включая Docker, Kubernetes и Terraform.
#python
Авторы: Ной Гифт, Кеннеди Берман, Альфредо Деза, Григ Георгиу. 2022
За последнее десятилетие технологии сильно изменились. Данные стали хитом, облака — вездесущими, и всем организациям понадобилась автоматизация. В ходе таких преобразований Python оказался одним из самых популярных языков программирования.
Это практическое руководство научит вас использовать Python для повседневных задач администрирования Linux с помощью наиболее удобных утилит DevOps, включая Docker, Kubernetes и Terraform.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
📃3️⃣ принципа написания чистого кода на Python
Порядок в коде начинается не с кода
Даже опытные программисты с трудом пишут чистый код, и это часто ощущается как постоянная битва за то, чтобы все было аккуратно и упорядочено. В статье на примерах показываем, как писать чистый и осмысленный код и как правильно оформлять документацию.
👉 Читать статью
#python
Порядок в коде начинается не с кода
Даже опытные программисты с трудом пишут чистый код, и это часто ощущается как постоянная битва за то, чтобы все было аккуратно и упорядочено. В статье на примерах показываем, как писать чистый и осмысленный код и как правильно оформлять документацию.
👉 Читать статью
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🔖📌 Query JSON
JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON.
Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
#python
JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON.
Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
⬇️📑
#python
importlib
Библиотека появилась в Python 3.1 и реализует функцию __import__()
.importlib
применяется не так часто и нужен только при работе с модулями. #python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
♒️🔀 Многопоточность и Многопроцессорность
В данном курсе мы рассмотрим модули Threading, Multiprocessing и научимся писать программы на их основе.
📺 Просмотр
#python
В данном курсе мы рассмотрим модули Threading, Multiprocessing и научимся писать программы на их основе.
📺 Просмотр
#python
YouTube
Многопоточность и Многопроцессорность Python. Threading & Multiprocessing Python
В данном курсе мы рассмотрим модули Threading, Multiprocessing и научимся писать программы на их основе.
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
📜🧧Подготовка к Python сертификации PCAP
В этой статье автор расскажет, как проходит его путь по подготовке к сертификации PCAP. Поделится своими мыслями на тему того, кому это может быть полезно.
Каково проходить сертификацию спустя 3 года разработки на языке. Какие материалы использовать и на что обращать внимание. Он рассчитывает, что этот пост будет претворять статью о том, как он успешно сдал этот тест и что из него извлёк.
👆🏻 Читать
#python
В этой статье автор расскажет, как проходит его путь по подготовке к сертификации PCAP. Поделится своими мыслями на тему того, кому это может быть полезно.
Каково проходить сертификацию спустя 3 года разработки на языке. Какие материалы использовать и на что обращать внимание. Он рассчитывает, что этот пост будет претворять статью о том, как он успешно сдал этот тест и что из него извлёк.
👆🏻 Читать
#python
Tproger
Подготовка к Python сертификации PCAP
Рассказ о том, как проходит путь по подготовке к сертификации PCAP. И мысли на тему того, кому сертификация может быть полезна.
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
📊🅾️ Как создать аналитический сайт на Python с нуля
💬 Представляем обучающее руководство по разработке сайта на основе шаблона Flask. Сайт включает блог, приложения Dash и блокноты Jupyter.
👆🏻Читать
#python
💬 Представляем обучающее руководство по разработке сайта на основе шаблона Flask. Сайт включает блог, приложения Dash и блокноты Jupyter.
👆🏻Читать
#python
Telegraph
Как создать аналитический сайт на Python с нуля
Python и 1000 программ Я решила создать собственный сайт, который позволял бы вести блог, отображать информационные панели и запускать блокноты Jupyter. Разобралась, как создать само приложение Dash. Однако мне не удалось найти способ, который описывал бы…
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
💻🔆 Как легко и быстро создать веб-приложение на базе МО с помощью Python
💬 В этой статье мы с нуля развернем модель линейной регрессии с помощью Flask, фреймворка Python для разработки веб-приложений
📌 Независимо от того, сколько моделей вы создали, оффлайн их смогут увидеть лишь несколько человек. Поэтому необходимо их развертывать, чтобы любой смог поработать с ними посредством UI.
👆🏻Читать статью
#python
💬 В этой статье мы с нуля развернем модель линейной регрессии с помощью Flask, фреймворка Python для разработки веб-приложений
📌 Независимо от того, сколько моделей вы создали, оффлайн их смогут увидеть лишь несколько человек. Поэтому необходимо их развертывать, чтобы любой смог поработать с ними посредством UI.
👆🏻Читать статью
#python
Telegraph
Как легко и быстро создать веб-приложение на базе МО с помощью Python
Python и 1000 программ Руководство разделено на две части. В первой мы создадим модель, а во второй — веб-приложение с нуля. Основная задача — разработка веб-приложения на базе машинного обучения, поэтому вы можете скачать уже готовую модель из первой части…
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
🔠⏹ Функция shorten()
Функция shorten() модуля textwrap усекает заданный текст, чтобы он поместился в заданную ширину width.
Сначала все пробелы заменяются одиночными пробелами. Если результат соответствует ширине, он возвращается. В противном случае с конца отбрасывается слова, чтобы оставшийся текст плюс заполнитель placeholder (по умолчанию [...]) поместились в указанную ширину width.
#python
Функция shorten() модуля textwrap усекает заданный текст, чтобы он поместился в заданную ширину width.
Сначала все пробелы заменяются одиночными пробелами. Если результат соответствует ширине, он возвращается. В противном случае с конца отбрасывается слова, чтобы оставшийся текст плюс заполнитель placeholder (по умолчанию [...]) поместились в указанную ширину width.
#python
Forwarded from Data Асы 🧩🖧🐉🐘🐧❄️📊
💻🔆 Фреймворк Flask
Один из самых популярных фреймворков для разработки бэкенда. Предназначен для быстрого лёгкого старта работы в создании как простых, так и сложных приложений.
Для первого рабочего приложения достаточно шести строк. В начале импортируем модуль, установленный как обычно при помощи
После запуска приложения результат можно увидеть в браузере по адресу
#python
Один из самых популярных фреймворков для разработки бэкенда. Предназначен для быстрого лёгкого старта работы в создании как простых, так и сложных приложений.
Для первого рабочего приложения достаточно шести строк. В начале импортируем модуль, установленный как обычно при помощи
pip
, затем создаём объект-приложение, далее с помощью декоратора указываем путь в адресной строке и определяем функцию, которая возвращает отображаемый текст. После запуска приложения результат можно увидеть в браузере по адресу
http://localhost:5000/
.#python
Forwarded from Zen of Python
Запуск Python внутри ChatGPT
Запуск Python внутри ChatGPT показывает некоторые удивительные возможности, которыми обладает эта нейросеть, чтобы понимать код Python и оценивать его для вас.
Посмотрите, как ChatGPT распознает задачи для Python, а затем решает их ровно также, как это сделал бы Python, даже предлагая вам готовый код или результат его выполнения:
https://mathspp.com/blog/running-python-inside-chatgpt
#chatgpt
Запуск Python внутри ChatGPT показывает некоторые удивительные возможности, которыми обладает эта нейросеть, чтобы понимать код Python и оценивать его для вас.
Посмотрите, как ChatGPT распознает задачи для Python, а затем решает их ровно также, как это сделал бы Python, даже предлагая вам готовый код или результат его выполнения:
https://mathspp.com/blog/running-python-inside-chatgpt
#chatgpt