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. Менеджеры контекста python. Оператор with

В видео описывается 2 варианты выполнения кода на Python:

 Интерактивный режим(консоль Python/ Shell)
 Файловый режим(стандартный вариант)
Для запуска Интерактивного режима запускается
IDLE python.

Данный курс предназначен для новичков (начинающих) в программировании.

Курс подойдет для тех, кто хочет изучить язык
Python с нуля.

Также курс идеально подойдет школьникам, которые готовятся к сдаче ЕГЭ по информатике или ОГЭ по информатике.

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
Что выведет код?
Anonymous Quiz
63%
112133
7%
121311
12%
123132
18%
Ошибку
🔥12🤯92
📣 Декораторы в Python

В этой статье мы поговорим о декораторах в Python – мощном инструменте, который позволяет модифицировать или расширять поведение функций и классов, не изменяя их исходный код.

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

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

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Media is too big
VIEW IN TELEGRAM
▶️ Аннотации Python

Зачем нужны аннотации?

Информативность исходного кода, и иметь возможность с помощью сторонних инструментов производить его анализ.

Одной из наиболее востребованных, в этом смысле, тем является контроль типов переменных

А также в видео ответим на вопрос что такое аннотации и когда использовать аннотации

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
🤯32👍14🤔4🔥2
📣 10 практик кода, ускоряющих выполнение программ

В статье сравниваем скорость выполнения распространенных (но не очень эффективных) решений и по-настоящему производительного кода на чистом Python без привлечения сторонних библиотек.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4
Media is too big
VIEW IN TELEGRAM
▶️ Словарь и множество (dict, set)

Немного копнем поглубже словари и сеты: как работают под капотом, почему такие быстрые при поиске, какие могут быть грабли и каверзные вопросы на собеседовании.

Самое важное:
dict – словарь, отображение, хеш-мап, ассоциативный массив, коллекция пар ключ-значение, где ключом может быть только hashable тип, доступ по ключу и проверка наличия ключа O(1), с питона 3.7 хранит порядок вставки
пустой словарь создавать лучше через {},а не dict(), под капотом сразу будет создано 8 элементов
set – множество, хешсет, неупорядоченный набор hashable объектов, доступ и проверка наличия O(1)
frozenset – неизменяемый брат множества
Hashable != Immutable, эти понятия часто путают, помните что это не одно и то же.
алгоритм работы словаря и сета: Получаем хеш -} высчитываем позицию в массиве -} если элемента нет то действуем соответственно задаче -} если элемент есть то сравниваем ключ == тому что ищем -} если ключ не равен искомому то ищем дополнительный бакет
По умолчанию самописные классы возвращают хеш основанный на id, если переопределяете хеш, то всегда проверяйте, что у равных объектов одинаковый хеш
Проверка на содержание тоже вызывает ошибку, если элемент не хешируем. Тапл можно положить в сет только если все его элементы хешируемы, frozenset без проблем кладется в сет. Словари и сеты нельзя положить в словари(как ключ) и сеты.
За скорость словаря и сета мы платим большей памятью и тем, что положить туда можно не любые элементы

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍5🔥2
Что выведет код?
Anonymous Quiz
13%
1
41%
2
25%
4
21%
Ошибка
👍17🤯73🔥1🤔1
📣 Создание интерактивных панелей с Streamlit

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

Панель мониторинга (dashboards) – это графический пользовательский интерфейс для интерактивного отображения информации, а также визуализации ключевых показателей и тенденций данных. Разработка таких панелей является довольно утомительной задачей

Streamlit – простая библиотека Python с открытым исходным кодом, которая стремительно набирает популярность в области машинного обучения и Data Science.

Она позволяет публиковать веб-приложения в открытом доступе, а также включает встроенный веб-сервер с возможностью развертывания в контейнере docker.

В этом обзоре вы найдете подробную инструкцию о том, как самостоятельно разработать и опубликовать интерактивную панель для визуализации данных

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Media is too big
VIEW IN TELEGRAM
▶️ Знакомство с индексами и срезами строк

Строка, как упорядоченный набор символов.
Индексирование строк, обращение к символам по определенным индексам. Срезы строк – выделение групп символов из строки. Примеры и особенности работы.

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
Что выведет код?
Anonymous Quiz
40%
True
26%
False
10%
None
23%
Ошибку
🤯23🤔65👍2
📣 4 Python библиотеки для интерпретируемого машинного обучения

Хотите добиться лучшего объяснения моделей машинного обучения? Нужна хорошая визуализация? Используйте эти Python библиотеки.

Yellowbrick – эта Python библиотека и расширение пакета scikit-learn. Предоставляет некоторые полезные и симпатичные визуализации для моделей машинного обучения. Объекты визуализатора, основной интерфейс – оценки scikit-learn, поэтому если привыкли работать с scikit-learn, рабочий процесс покажется знакомым.

ELI5 ещё одна библиотека визуализации, которая пригодится для отладки моделей машинного обучения и объяснения сделанных прогнозов. Работает с самыми распространёнными инструментами машинного обучения на Python, включая scikit-learn, XGBoost и Keras.

LIME – расшифровывается как локальные интерпретируемые, независимые от модели объяснения. Интерпретирует предсказания, сделанные алгоритмами машинного обучения. Lime поддерживает объяснение единичных прогнозов из диапазона классификаторов, а также взаимодействует с scikit-learn «из коробки»

MLxtendэтой библиотеке найдёте массу вспомогательных функций для машинного обучения. Она охватывает классификаторы стекинга и голосования, оценку модели, выделение признаков, а также проектирование и построение графиков. Дополнительно к документации в помощь с Python библиотекой рекомендуем почитать углублённый материал.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
Media is too big
VIEW IN TELEGRAM
▶️ Логирование: оставь print позади

Логирование – это фиксация состояния вашего приложения в определенный момент времени. Оно позволяет понимать, что система работает как ожидается (и вообще работает), а также облегчает диагностику проблем

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

Когда уместен print: в очень простых, маленьких приложениях и скриптах.
Чем больше и сложнее приложение тем важнее использовать специальные инструменты логирования

DIWEC = DEBUG - INFO - WARNING - ERROR - CRITICAL
DEBUG – самая подробная информация, нужна только разработчику и только для отладки, например значения переменных, какие данные получены и т.д.
INFO – информационные сообщения, как подтверждение работы, например запуск сервиса
WARNING – еще не ошибка, но уже надо посмотреть - мало места на диске, мало памяти, много созданных объектов и т.д
ERROR – приложение еще работает и может работать, но что-то пошло не так
CRITICAL – приложение не может работать дальше

logger = getLogger(__name__) – принятый подход для логирования с именем модуля
логеры с именами наследуют настройки от root, но могут быть настроены иначе
logger.debug("Get expression %s", exp) – для обратной совместимости используется старый формат через %

👀 Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Что выведет код?
Anonymous Quiz
18%
0
20%
1
10%
2
14%
3
38%
Ошибка
🤯20👍6🔥2
📣 Python enumerate: упрощаем циклы с помощью счетчиков

Вместо самостоятельного создания и увеличения переменной, используйте enumerate() для получения одновременно счетчика и значения из итерационной функции.

🖥 Читать подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131🔥1