Python и 1000 уязвимостей
37.7K subscribers
1.85K photos
564 videos
27 files
1.99K links
Сила в единстве.

Сотрудничество: @workhouse_price

Канал на бирже:
https://telega.in/channels/osint_pythons/card

№ 5383975776
РКН: https://clck.ru/3FtTDH
Download Telegram
Media is too big
VIEW IN TELEGRAM
▶️ Python 4 | Первые впечатления

В этом видео покажу вам то, что еще никто в мире не видел: альфа-версию нового Python версии 4.0.

Так как я много лет состою в PSF и развиваю по мере сил сообщество питонистов, мне предоставили возможность потестировать новые экспериментальные фичи, спешу с вами поделиться.

Начнем с простейших функций и закончим самыми бомбическими.

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🤯9🔥43
📣 Модули multiprocessing и threading

Данная статья написана для тех, кто только начинает изучать возможности многопроцессорного и многопоточного программирования в Python.

Модуль multiprocessing предоставляет возможности для работы с многопроцессорным программированием, позволяя создавать и управлять процессами, обмениваться данными между процессами, использовать пулы процессов и другие механизмы для параллельного выполнения задач.

Модуль threading предоставляет инструменты для работы с потоками выполнения (threads) в многопоточном программировании.

Потоки позволяют выполнять несколько задач в одном процессе параллельно, что помогает улучшить отзывчивость программы и увеличить общую производительность

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Media is too big
VIEW IN TELEGRAM
▶️ Multiprocessing: используем все ядра

Поговорим про multiprocessing - способ реального распараллеливания задач на ядра компьютера.

Multiprocessing позволяет решать любые задачи (10-bound или CPU-bound).

Ускорение не идеально и возможно только до определенного предела, смотрим закон Амдала.

Создает несколько процессов, у каждого из которых своя память и свой GIL, каждый выполняет свою задачу, взаимодействие между ними требует pickle АРI принципиально похоже на многопоточность, выгодно использовать Pool, а для взаимодействия между процессами Queue и Pipe

Плюсы:
+ реальная параллельность любых задач
+ не умирает из-за одного(!)
+ процессы не зависят друг от друга (у каждого процесса своя память и GIL)

Минусы:
– потребление ресурсов (памяти, процессора, времени)
– необходимость сериализации в pickle
– проблемы синхронизации

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👍2
🔥29🤯114🤔3
📣 5 задач с решениями для начинающих разработчиков

Освоили базу и руки чешутся испытать свои знания на практике?

В статье будет рассмотрено пять задач на проверку своих знаний:
Пишем программу для перевода NRZI кода в двоичный
Обнаруживаем лишние символы в строке
Определяем «почти палиндром»
Создаем функцию для замены чисел на слова
Находим лучшую покерную комбинацию

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4
Media is too big
VIEW IN TELEGRAM
📣 Аннотации типов

В видео кратко расскажем о том зачем использовать аннотации типов в python.

Аннотации это удобные подсказки в коде о том аргументы какого типа мы ждем на входе функции и что она вернет, что будет на выходе.

Это не только помогает в чтении и понимании кода, это используется PyCharm для того чтобы заранее, до запуска кода подсказать что мы что-то делаем не так.

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🤔1
Что выведет код?
Anonymous Quiz
32%
19
29%
20
13%
None
26%
Ошибку
🤯15👍116🤔1
🐼 Основы анализа данных с Pandas

В статье покажем основные приемы работы с DataFrame и Series, которые нужно знать начинающему дата-аналитику.

В конце статьи – 10 мини-проектов по анализу и визуализации многомерных данных.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍53
Media is too big
VIEW IN TELEGRAM
▶️ Рекурсия в Python

Сегодня в видео поговорим о рекурсивных функциях, как они работают, как их правильно написать и каких ошибок избегать.

Рекурсивная функция всегда представлена комбинацией основного случая (base case) и рекурсивного вызова.

Предназначение рекурсии - разбивать/уменьшать поступившие данные до тех пор, пока не будет выполнено условие выхода.

В Python рекурсия ограничена глубиной стека (по умолчанию - 1000) и не оптимизирована

Частые ошибки:
- нет условия выхода (base case)
- нет return в одной из веток
- нет уменьшения данных

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥32
Что выведет код?
Anonymous Quiz
13%
[2, 3, 4, 5]
44%
[2, 3, 4]
9%
0
34%
Ошибку
🤔33👍17🤯83🔥1
📣 Нейронная сеть на Python в 15 строк кода

В этой статье опишем как минимальным средствами может быть создана и обучена нейронная сеть при помощи Python и библиотеки Keras.

Библиотека Keras представляет собой высокоуровневый интерфейс для создания нейронных сетей.

Keras написан на Python и работает поверх таких более низкоуровневых решений, как TensorFlow, CNTK и Theano. За счет этого программный код получается не только мощным, но и крайне компактным.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍1🤯1
Media is too big
VIEW IN TELEGRAM
▶️ Циклы и операторы в них (for, while)

В ходе урока мы с вами изучим тему циклов в языке Python. Мы научимся прописывать цикл for, а также цикл while.

Дополнительно нами будут рассмотрены операторы break и continue, что используются в циклах.

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍3
📣 Как в Python применяются вложенные функции

В статье рассмотрим на примерах, в чем польза вложенных функций Python и как их применять для инкапсуляции кода, замыканий и декораторов.

Вложенные (или внутренние, англ. inner, nested) функции – это функции, которые мы определяем внутри других функций.

В Python такая функция имеет прямой доступ к переменным и именам, определенным во включающей её функции.

Вложенные функции имеют множество применений, в первую очередь для создания замыканий и декораторов.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
Media is too big
VIEW IN TELEGRAM
▶️ Основы Asyncio

Asyncio — это библиотека Python, которая предоставляет возможности для асинхронного программирования.

Плюсы:
скорость и экономия времени, вместо х + у + z = max(x, y, z)
управляемость
меньше потребление ресурсов (в сравнении с потоками)

Минусы:
"умирает" из-за одного блокирующего вызова (!)
не безразмерный, нужно понимать, что корутины не бесплатные

Важные принципы:
• корутина работает как генератор
• async – явный флаг, что данная функция является асинхронной (корутиной)
• await – явный флаг, что в это месте функция встает на паузу и дает работать другим, пока ждет свои данные
• event loop – цикл событий, механизм, который отвечает за планирование и запуск корутин.
Можно представить как
список/очередь, из которого в вечном цикле достаются и запускаются корутины

Частые ошибки:
~ не использование await внутри корутины
~ создание корутины, но использование ее, как функции
~ использование внутри корутин синхронного (блокирующего) кода, в том числе IO

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤯3👍2