Pythoner
7.22K subscribers
859 photos
27 videos
4 files
653 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
✈️Vibora - это быстрый и мощный асинхронный веб-фреймворк для Python, который предназначен для разработки высокопроизводительных веб-приложений. Он основан на асинхронном сервере uvloop и является оптимизированным для работы с асинхронным вводом-выводом, что позволяет обрабатывать тысячи запросов в секунду.

➡️Основные особенности Vibora:

➡️Высокая производительность: благодаря использованию асинхронного ввода-вывода и оптимизированному серверу uvloop, Vibora обеспечивает высокую скорость обработки запросов.

➡️Минимализм и простота: Vibora имеет минималистичный и простой в использовании синтаксис, что упрощает разработку веб-приложений.

➡️Поддержка HTTP/1.1 и HTTP/2: Vibora поддерживает как HTTP/1.1, так и HTTP/2, что позволяет использовать передачу данных через множество потоков для улучшения производительности веб-приложений.

➡️Встроенная поддержка маршрутизации: Vibora предоставляет мощные средства для определения и обработки URL-адресов и запросов.

➡️Поддержка плагинов: Vibora позволяет расширить функциональность фреймворка за счет использования плагинов.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
✈️Комплексные числа представлены типом данных complex.

➡️Комплексные числа можно создавать разными способами:
— Используя конструктор complex(a, b), где a — действительная часть, b — мнимая.
— Из вещественного числа, добавив к нему мнимую часть. Например, a + bj.
— Из строкового представления с помощью
complex(string).

➡️С комплексными числами можно выполнять стандартные математические операции.
Для доступа к частям комплексного числа используются атрибуты real и imag.

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

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍52🔥2
✈️collections.Mapping — это абстрактный базовый класс, который представляет отображение ключ-значение.
Он наследуется встроенными типами словарей, такими как dict, а также другими типами, которые реализуют схожее поведение, например OrderedDict.

➡️Класс Mapping определяет интерфейс, общий для всех отображений ключ-значение, включая такие методы как keys(), values(), items() и другие.
Это позволяет писать универсальный код, который будет работать с любым типом, реализующим этот интерфейс.

💡Например, Mapping часто используется вместе с isinstance или issubclass для проверки, является ли объект словарем. Также он полезен при написании функций, которым нужно принимать на вход отображения, но без привязки к конкретному типу как dict. Mapping гарантирует наличие основных методов словаря у переданного объекта.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21🤣9👍73🤬1
✈️Тернарный оператор, также известный как условный оператор, является уникальным оператором, который используется для выполнения конденсированных версий простых операторов if-else. Он принимает три аргумента: условие, значение, если условие истинно, и значение, если условие ложно.

➡️Применение тернарного оператора

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

➡️Тернарный оператор в Python

Да, Python поддерживает тернарный оператор. В Python тернарный оператор выглядит следующим образом: x if condition else y. Здесь x присваивается, если условие истинно, иначе присваивается y.

➡️Пример использования тернарного оператора в Python:
age = 15
type = "teenager" if age < 18 else "adult"
print(type) # Выведет: teenager


⬆️В этом примере, если переменная age меньше 18, переменной type присваивается значение "teenager", в противном случае - "adult".

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🔥3
✈️rembg — это библиотека для Python, предназначенная для удаления фона с изображений. Она использует модели машинного обучения для сегментации объектов на изображении, что позволяет извлекать главный объект, удаляя все остальные элементы, включая фон.

➡️Основные возможности:
— Автоматическое удаление фона с использованием нейросетей.
— Возможность точной настройки для сложных изображений .
— Поддержка изображений разных форматов — JPG, PNG, GIF и др.

💡Rembg использует модели глубокого обучения, предварительно обученные на больших наборах данных. Это позволяет достичь хороших результатов по удалению фона.
Также библиотека позволяет быстро интегрировать удаление фона в любые проекты на Python, где требуется обработка изображений. Простой API и хорошее качество делают эту библиотеку полезным инструментом для разных задач.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥3
✈️Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных.

➡️Основные возможности Pyspark:
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.
— В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.
— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных.

🔎Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥3🙈1
👍62
Что выдаст код выше
Anonymous Quiz
20%
True
33%
False
41%
Error
5%
S_1
2%
S_2
😐7👍3🤔3👏1🤨1
🤔Разбор

В переменную L будет помещен список [1, 1, 1, 2, 2, 2]
Далее мы считаем длину set'a этого списка. set убирает все повторяющиеся элементы —> длина 1, 2 —> 2
Далее то же самое, только со всей длиной списка —> 6

Задача на внимательность: выводим выражение 2 in 6 —> мы не можем in'ом проверять int в int'е.
Ответ: ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤓62🔥1
✈️Функция sets.isuperset() позволяет проверить, является ли один set подмножеством другого.
Она принимает в качестве аргумента другой set и возвращает boolean значение — True если первый set содержит все элементы второго, и False в противном случае.

🔎Это полезно при работе с множествами для проверки включения, или при проверке покрытия тестами.
➡️Также это используется для проверки включения при работе с данными, чтобы убедиться, что один набор данных полностью покрывает другой по каким-либо критериям.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥2
✈️Click — популярная библиотека для создания интерфейса командной строки (CLI) в приложениях Python.
Основные преимущества Click — простота использования, элегантный и понятный код, мощные возможности по созданию комплексных CLI. Работает на Python 3.6 и выше.


➡️Возможности:
— Определение команд и групп команд с помощью декоратора @click.command().
— Декларативное описание аргументов и опций.
— Автоматический парсинг аргументов командной строки.
— Генерация help сообщения.
— Поддержка bash/zsh автодополнения.
— Вложенные команды и группы подкоманд.
— Цветной вывод в терминал.

🔎Click широко используется для создания консольных утилит, CLI интерфейсов для web фреймворков, DevOps инструментов, скриптов автоматизации и других задач, где требуется командная строка.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
✈️GUI - Graphical User Interface - оно использует графические элементы, по типу окон, кнопок, иконок, и т.п. В основнов управляется с помощью мышки. К примеру:
1. Firefox
2. Telegram Desktop
3. OBS Studio

✈️TUI - Text user interface - оно использует текстовой ввод, и работает в основном в терминале. Также почти все TUI программы управляются через клавиатуру, но также может быть поддержка мышки, если у вас конечно есть графическая оболочка или оконный менеджер. Это более простой и легковесный интерфейс, по сравнению с GUI, и потребляет меньше оперативной памяти, примеры TUI программ:
1. Neovim
2. W3M
3. NetworkManager (nmtui)

❗️Они отличаются тем, что GUI в отличии от TUI нельзя запустить прямо в терминале, а также он более легковесный, и иногда может заменить IDE, браузера, мессенджеры

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
✈️Библиотека Six — это мощная библиотека, которая предназначена для сглаживания различий между двумя версиями Python: 2 и 3. Она предоставляет утилиты для обеспечения совместимости кода, который работает на обеих версиях Python без изменений. Six состоит всего из одного файла Python, поэтому его легко скопировать в проект.

➡️Основные функции Six:

1. Модули и классы - библиотека предоставляет модули, которые переопределяют или предоставляют совместимые классы и функции.
2. Совместимость строк - Six обеспечивает единый способ работы со строками в обеих версиях Python.
3. Функции - многие встроенные функции и методы, которые работают по-разному в Python 2 и 3, можно использовать с помощью Six.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
✈️PyBrain — это библиотека машинного обучения, которая предоставляет широкий набор алгоритмов и инструментов для обучения нейросетей и других задач машинного обучения.

➡️PyBrain имеет ряд преимуществ, которые делают его привлекательным для разработчиков машинного обучения:
— Простота использования: PyBrain имеет простой и понятный синтаксис, который делает его удобным для изучения.
— Модульность: PyBrain является модульной библиотекой, что позволяет разработчикам создавать собственные алгоритмы и инструменты.
— Производительность: PyBrain написан на Python, который является высокопроизводительным языком.

➡️PyBrain может использоваться для решения широкого спектра задач машинного обучения, включая:
— Классификация: обучение нейронной сети для классификации входных данных в один из нескольких классов.
— Регрессия: обучение нейронной сети для прогнозирования непрерывных значений.
— Обнаружение аномалий: обучение нейронной сети для обнаружения аномальных входных данных.

➡️Простой пример создания и обучения нейронной сети с использованием PyBrain:
from pybrain.datasets import ClassificationDataSet
from pybrain.supervised.trainers import BackpropTrainer
from pybrain.tools.shortcuts import BuildNetwork

# Создание выборки данных
data = ClassificationDataSet(2, 1)

# Добавление данных (x1, x2, label)
data.addSample((0, 0), (0,))
data.addSample((0, 1), (1,))
data.addSample((1, 0), (1,))
data.addSample((1, 1), (0,))

# Создание нейронной сети
network = BuildNetwork(2, 3, 1)

# Обучение нейронной сети
trainer = BackpropTrainer(network, data)
for _ in range(1000):
trainer.train()

# Проверка результатов
for sample in [(0, 0), (0, 1), (1, 0), (1, 1)]:
output = network.activate(sample)
print(f'Input: {sample}, Output: {output}')


⬆️В этом примере создается простая нейронная сеть для решения задачи логического И-Иксор (XOR). Данные добавляются в выборку, затем сеть обучается, и, наконец, результаты выводятся для разных входных значений.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3👍2
✈️PyStan — это интерфейс для работы с популярной библиотекой Stan, для статистического моделирования и программирования. С помощью PyStan можно легко строить и оценивать сложные статистические модели с использованием методов.

➡️Основные возможности Pystan:
— Простой интерфейс для задания байесовских моделей на языке Stan.
— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.

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

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2👾1
✈️Streamlit – инструмент, который заставил многих воскликнуть "Вау!" прямо посреди рабочего дня.

➡️Представьте: вы написали крутую модель машинного обучения для определения пород собак. Раньше вам бы пришлось неделями возиться с Flask, HTML-шаблонами и CSS. А со Streamlit? Смотрите, как это делается:
import streamlit as st
from PIL import Image
import model # ваша ML модель

st.title("🐕 Определитель пород собак")
uploaded_file = st.file_uploader("Загрузите фото собаки")

if uploaded_file:
image = Image.open(uploaded_file)
st.image(image, caption="Загруженное фото")
prediction = model.predict(image)
st.success(f"Это {prediction} с вероятностью 95%!")


⬆️Буквально 10 строк кода – и у вас готово полноценное веб-приложение с загрузкой файлов и красивым интерфейсом.

➡️Вот ещё один пример:
import streamlit as st
import pandas as pd
import plotly.express as px

st.title("📊 Анализ продаж")
data = pd.read_csv("sales.csv")

# Интерактивный фильтр по датам
date_range = st.date_input("Выберите период")

# Динамический график
fig = px.line(data, x="date", y="sales")
st.plotly_chart(fig)


➡️Что особенно крутого в Streamlit:

— Интерактивность из коробки! Добавьте st.slider() – и у вас уже есть полноценный интерактивный элемент управления
— Адаптивный дизайн без единой строчки CSS. Приложение одинаково круто выглядит и на десктопе, и на мобильном
— Live-reload, который реально работает. Сохранили файл – изменения тут же видны в браузере
— Встроенная поддержка всех популярных библиотек визуализации: matplotlib, plotly, altair. Просто передаёте график в st.plotly_chart() – и готово!

➡️Конечно, есть и подводные камни:

— На больших датасетах может подтормаживать – всё-таки это не продакшн-решение для миллионов пользователей
— Если нужен сильно кастомный дизайн – придётся повозиться
— Каждое действие пользователя перезагружает приложение – это может раздражать в сложных интерфейсах

➡️Но для чего Streamlit просто идеален:

— Data Science прототипы и MVP – показать заказчику результаты анализа? Легко!
— Демо ML-моделей – загрузил файл, получил предсказание, красота!
— Внутренние инструменты для команды – мониторинг, анализ данных, всё что угодно

➡️А теперь самое вкусное – установка занимает 30 секунд:
pip install streamlit
streamlit hello # запустит демо-приложение


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥2
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣22😁72👍1
✈️Встроенные функции all() и any(), которые применяются к последовательностям (спискам, кортежам и т. д.) и возвращают bool значение.

💬 all(iterable) — возвращает True, если все элементы iterable истинны (или iterable пуст).
💬 any(iterable) — возвращает True, если хотя бы один элемент iterable истинен.

⬆️Эти функции могут использоваться для проверки каких-либо условий на всём наборе данных.
Например, проверить, что все числа больше нуля, или что хотя бы одно число больше 10.

➡️Важные моменты:
— Для пустых iterable all() вернёт True, а any() — False.
— Элемент считается ложным, если его bool() равен False.
— Функции останавливаются при первом ложном (для all) или истинном (для any) элементе.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥3
✈️Argcomplete — это библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).


💡Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.

➡️Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3