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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🤔Разбор

В Python при приведении к bool любая непустая строка(даже если это пробелы) оценивается как True, а комплексный ноль - False


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👾2
✈️Вместо copy.deepcopy() можно эффективно копировать dataclass с изменением полей.

➡️Пример:
from dataclasses import dataclass, replace

@dataclass
class User:
name: str
age: int

user1 = User("Alice", 30)
user2 = replace(user1, age=35)

print(user2) # User(name='Alice', age=35)


💡Зачем это нужно?
- Можно изменять объект, не модифицируя оригинал.
- Работает быстрее, чем deepcopy().
- Удобно для immutable объектов.

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

➡️Создание простого графика-
Для начала давайте создадим простой график. Для этого нам понадобятся данные, которые мы будем отображать на графике. В примере ниже мы создадим массив данных для точек x и y:
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]

plt.plot(x, y)
plt.show()


⬆️В этом примере мы импортируем библиотеку Matplotlib и создаем два массива данных для значений x и y. Затем мы используем функцию plot() для построения графика, передавая ей значения x и y. Наконец, мы используем функцию show() для отображения графика.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3
➡️set.isdisjoint() в Python - это метод, который используется для проверки, не имеют ли два множества общих элементов. Если два множества не имеют общих элементов, то метод isdisjoint() возвращает True, в противном случае он возвращает False.

➡️Пример использования метода set.isdisjoint():
set1 = {1, 2, 3}
set2 = {4, 5, 6}

# Проверяем, не имеют ли два множества общих элементов
result = set1.isdisjoint(set2)

print(result) # Выводит True, поскольку множества не имеют общих элементов


Если бы у нас было два множества с общими элементами, метод isdisjoint() вернул бы False:
set3 = {1, 2, 3}
set4 = {3, 4, 5}

result = set3.isdisjoint(set4)

print(result) # Выводит False, так как множества имеют общий элемент (число 3)

➡️Преимущества использования метода set.isdisjoint():

-Простота и удобство проверки наличия общих элементов: Метод isdisjoint() предоставляет простой способ быстрой проверки наличия общих элементов между двумя множествами.

-Эффективность: Поиск общих элементов выполняется эффективно благодаря внутренней реализации Python для множеств.

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

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍32
✈️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