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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
✈️Surprise (Simple Python Recommendation System Engine) предоставляет готовые инструменты для быстрого обучения и оценки алгоритмов рекомендаций на основе пользовательских предпочтений.

➡️Ключевая функция:
Простое тестирование и сравнение классических алгоритмов (KNN, SVD, SlopeOne) на ваших данных с акцентом на точность предсказаний.

➡️Пример:
from surprise import Dataset, KNNBasic
from surprise.model_selection import cross_validate

# Загрузка встроенного датасета MovieLens
data = Dataset.load_builtin('ml-100k')

# Обучение KNN-модели
algo = KNNBasic()
cross_validate(algo, data, measures=['RMSE'], cv=5, verbose=True)


💡Главный плюс:
Чистый API для экспериментов с рекомендательными алгоритмами без сложной инфраструктуры — идеально для исследований и прототипирования.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥2
✈️Конструкция try-except - это база, которая позволяет перехватывать ошибки во время выполнения и избегать падения программы.

➡️Пример:
user_input = "42a"

try:
number = int(user_input)
print("Число:", number)
except ValueError:
print("Ошибка: это не целое число")

Ошибка: это не целое число


💡Полезно при работе с вводом, файлами, сетью и любыми нестабильными операциями. Можно добавить else и finally для дополнительной логики.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4👌1
✈️Fugue — это мощный инструмент для обработки данных, который объединяет возможности Python и SQL. Она разработана для упрощения обработки данных в распределенных системах, таких как Apache Spark и Dask, и позволяет писать код, который будет работать как в локальном режиме, так и в распределенном.

➡️Основные возможности:
💬Упрощение кода для обработки данных
💬Поддержка различных движков выполнения (Spark, Dask)
💬Поддержка SQL, что позволяет использованию знакомого синтаксиса для работы с данными

➡️Пример использования:
# Установка библиотеки
!pip install fugue

# Импорт необходимых модулей
from fugue import FugueEngine
from fugue.spark import SparkExecutionEngine

# Пример обработки данных
def process_data(df):
return df.groupby("category").agg({"value": "sum"})

# Инициализация движка
engine = SparkExecutionEngine()

# Чтение данных
data = [
{"category": "A", "value": 10},
{"category": "B", "value": 20},
{"category": "A", "value": 30},
]

# Обработка данных
result = engine.run(data, process_data)

# Вывод результата
print(result)

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3
✈️pyTermTk - библиотека для создания продвинутых текстовых интерфейсов (TUI) с поддержкой виджетов, тем оформления и кросс-платформенной работой. Она позволяет строить интерактивные терминальные приложения с элементами GUI (кнопки, таблицы, формы) без зависимости от графического сервера.

➡️Пример использования:
from TermTk import TTk, TTkButton

def on_click():
print("Button clicked!")

root = TTk.TTk()
btn = TTkButton(text="Click me!", pos=(10,5), size=(20,3))
btn.clicked.connect(on_click)
root.mainloop()


💡 Главный плюс:
Полноценный набор UI-компонентов (CheckBox, RadioButton, ScrollArea) + поддержка "тёмной/светлой" тем прямо в терминале.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥4
✈️Pywebview — это легковесная библиотека для создания графических приложений на Python с использованием веб-технологий. Она позволяет разрабатывать интерфейсы с помощью HTML, CSS и JavaScript, а также интегрировать их с логикой на Python. Pywebview предоставляет простой способ взаимодействия между веб-интерфейсом и кодом на Python.

➡️Создание простого окна. Вот базовый пример:
import webview

# Создаем окно с URL
webview.create_window('Пример pywebview', '<https://example.com>')

# Запускаем приложение
webview.start()

⬆️Этот код создаст окно с названием "Пример pywebview" и загрузит страницу по указанному URL. Это отличный способ быстро превратить ваше веб-приложение в настольное приложение.

GitHub

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥32👏1
➡️Использование оператора %s для форматирования строк

Оператор %s используется для вставки значения переменной в строку. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует переменная, значения которой нужно вставить.

Пример:
name = "John"
age = 25
print("Меня зовут %s и мне %s лет." % (name, age))

Вывод:
Меня зовут John и мне 25 лет.


⬆️В этом примере мы использовали оператор %s для вставки значений переменных name и age в строку. Мы передали эти значения в виде кортежа (name, age) после знака %.

➡️Форматирование чисел с помощью оператора %s

Оператор %s также может использоваться для форматирования чисел. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует число, значение которого нужно вставить.

Пример:
number = 42
print("Ответ на главный вопрос жизни: %s" % number)

Вывод:
Ответ на главный вопрос жизни: 42


⬆️В этом примере мы использовали оператор %s для вставки значения переменной number в строку.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥51
✈️Python функции globals() и locals() возвращают словари с текущими переменными — глобальными и локальными соответственно. Это даёт прямой доступ к пространству имён программы.

➡️Пример:
x = 10

def demo():
y = 5
print("Локальные:", locals())
print("Глобальные:", globals()["x"])

demo()

Локальные: {'y': 5}
Глобальные: 10


➡️Зачем это нужно:
- Отладка и инспекция переменных
- Динамическое выполнение кода (eval, exec)
- Построение интерактивных сред (например, REPL или дебаггеры)

💡Использовать с осторожностью — это мощный, но легко усложняющий читаемость инструмент.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍32
✈️dabl - библиотека для автоматического анализа данных и построения базовых ML-моделей в одну строку кода. Разработана командой scikit-learn.

➡️Ключевая функция:
Автоматизирует всю рутину: предобработку данных, feature engineering и подбор моделей с визуализацией результатов.

➡️Пример использования:
import dabl
data = dabl.datasets.load_titanic()
dabl.SimpleClassifier().fit(data, target_col="survived")
# Готово! Смотрите отчёт в Jupyter


GitHub

💡Главный плюс
Мгновенный старт работы с данными — библиотека сама определяет типы фичей, подбирает трансформеры и строит interpretable-модели.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍31
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🤣3👍2💯1😐1
✈️Функция help в Python используется для получения справочной информации о встроенных функциях, методах, модулях, классах и объектах Python. Эта функция является очень полезным инструментом для изучения новых методов и библиотек, а также для получения помощи в решении проблем.

➡️Чтобы использовать функцию help, просто вызовите ее и передайте объект, для которого вы хотите получить справочную информацию. Например, если вы хотите получить справочную информацию о функции print, вы можете вызвать функцию help следующим образом:
help(print)

🔫Это приведет к выводу документации о функции print в вашем интерпретаторе Python.

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

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

➡️Все контейнеры в Python реализуют общие методы, такие как len() для получения размера и contains() для проверки вхождения элемента. Это обеспечивает единый интерфейс работы с разными типами контейнеров.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍42
👍5🔥2
Что выдаст код выше
Anonymous Quiz
11%
(7, 3)
54%
[(7, 3)]
13%
7, 3
22%
Error
👀6🔥2🤔1🤨1
🤔Разбор

Возникнет ошибка. Т.к. функция zip() ожидает итерируемые объекты (например, списки, кортежи или строки), а передаётся два целых числа


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥52
✈️ImageHash – это Python-библиотека для вычисления perceptual-хешей изображений. Она помогает находить похожие или дублирующиеся картинки, даже если они были изменены (например, обрезаны или пережаты).

➡️ Ключевая функция:
Сравнение изображений через хеши (ahash, dhash, phash, whash), что позволяет быстро искать дубликаты без полного перебора пикселей.

➡️Пример использования:
from PIL import Image
import imagehash

hash1 = imagehash.average_hash(Image.open('image1.jpg'))
hash2 = imagehash.average_hash(Image.open('image2.jpg'))
print(hash1 - hash2) # Чем меньше разница, тем больше похожи изображения


💡 Главный плюс:
Автоматизация поиска дубликатов с высокой точностью и поддержкой разных алгоритмов хеширования. Отлично подойдет для очистки медиабиблиотек.

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

➡️Преимущества Keras

Keras имеет несколько преимуществ, которые делают его популярным выбором среди разработчиков машинного обучения. Во-первых, Keras обладает простым и интуитивно понятным API, что делает его легко изучаемым и использованием даже для новичков. Во-вторых, Keras предоставляет множество предварительно обученных моделей, которые можно использовать для решения различных задач. Наконец, Keras обеспечивает высокую производительность и эффективность, благодаря использованию оптимизированных библиотек, таких как TensorFlow и Theano.

➡️Возможности Keras

Keras поддерживает широкий спектр возможностей машинного обучения. Он позволяет создавать и обучать различные типы нейронных сетей, включая полносвязные сети, сверточные нейронные сети и рекуррентные нейронные сети. Кроме того, Keras предоставляет инструменты для работы с изображениями, текстом и временными рядами. Он также поддерживает автоматическое распределение обучения на несколько GPU, что позволяет ускорить процесс обучения на больших данных.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥31
✈️Метод strip() удаляет начальные и конечные пробелы (а также другие переданные символы) из строки. Это удобно для очистки ввода, сравнения данных и предобработки текста.

➡️Пример:
user_input = "  hello world  "
cleaned = user_input.strip()
print(cleaned)
# ➜ "hello world"

🔫В этом примере strip() убирает лишние пробелы по краям строки, оставляя только значимый текст.

💡strip() удобно использовать при чтении из файлов, работе с формами, разборе CSV/JSON и валидации пользовательского ввода. Также существуют .lstrip() и .rstrip() — для удаления только слева или справа. Метод делает работу с текстом точной и предсказуемой

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2
✈️Что такое асинхронное программирование?
Асинхронное программирование - это способ написания кода, позволяющий выполнять несколько задач одновременно без блокировки основного потока выполнения. В Python для этого используются ключевые слова async и await, которые делают функции асинхронными и определяют точки, где происходит ожидание.

➡️Преимущества асинхронного программирования:
1. Увеличение производительности: Асинхронный код позволяет эффективно использовать ресурсы, ускоряя выполнение задач.
2. Масштабируемость: Обработка множества задач одновременно без блокировки позволяет создавать масштабируемые приложения.
3. Улучшен отклик приложения: Пользователи получают быстрый отклик, даже если выполняются длительные операции.

➡️Основные концепции асинхронного программирования в Python:
- `async def` и `await`: Обозначают асинхронные функции и точки ожидания выполнения задачи.
- Цикл событий (Event Loop): Основной механизм управления выполнением асинхронных задач.
- Корутины (Coroutines): Асинхронные функции, которые могут приостанавливать свое выполнение.

➡️Пример асинхронного кода:
import asyncio

async def async_example():
print("Начало выполнения")
await asyncio.sleep(2)
print("Завершение выполнения")

async def main():
tasks = [async_example() for _ in range(5)]
await asyncio.gather(*tasks)

if __name__ == "__main__":
asyncio.run(main())


➡️Интеграция асинхронного кода:
Множество библиотек и фреймворков в Python уже поддерживают асинхронное программирование, включая aiohttp, asyncio, и многие другие. Это позволяет создавать высокопроизводительные веб-приложения, работающие с асинхронными запросами.

Дополнительные ресурсы:
- Документация Python по асинхронному программированию
- Статья на Real Python: "Async IO in Python: A Complete Walkthrough"

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥2
✈️Инкапсуляция - это один из четырех основных принципов объектно-ориентированного программирования. Она позволяет скрыть внутреннюю реализацию объекта от других объектов и защитить его состояние от неправильного использования.

➡️ Методы и атрибуты
В Python, чтобы скрыть атрибуты объекта, их нужно объявить как приватные, используя два подчеркивания перед именем атрибута. Например, для создания приватного атрибута name нужно написать __name. Также для доступа к этому атрибуту извне класса нужно использовать специальные методы get и set.

➡️Метод get возвращает значение приватного атрибута, а метод set устанавливает новое значение. Эти методы должны быть определены в самом классе. Например:
class Person:
def __init__(self, name):
self.__name = name

def get_name(self):
return self.__name

def set_name(self, name):
self.__name = name

person = Person("John")
print(person.get_name()) # "John"
person.set_name("Mike")
print(person.get_name()) # "Mike"


💡Для чего нужна инкапсуляция вообще?
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя

💡Будет ли код работать без нее?
- Да, будет!

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥3🤣1
✈️CPython — это основная реализация Python на C, и именно она запускается, когда ты пишешь python file.py.

➡️Работает в 3 шага:
1. Парсинг — Python-код превращается в AST (дерево разбора)
2. Компиляция — AST превращается в байткод (.pyc), понятный интерпретатору
3. Исполнение — байткод читается виртуальной машиной, которая шаг за шагом исполняет инструкции

➡️Можно посмотреть байткод вот так:
import dis

def hello():
print("hi")

dis.dis(hello)

🔫Выведет набор инструкций, как CPU, только питоновый.
CPython — медленный, но гибкий. Именно тут живёт GIL, и именно он влияет на потоки.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥31
✈️Метод setdefault() используется для получения значения по ключу из словаря, одновременно создавая его, если ключа ещё нет.

➡️Пример:
data = {}
data.setdefault("users", []).append("Анна")
data.setdefault("users", []).append("Борис")

print(data)

{'users': ['Анна', 'Борис']}


💡Удобно при работе с коллекциями внутри словаря — не нужно проверять наличие ключа вручную. Альтернатива конструкции с if key not in dict.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥2