Одной из главных возможностей библиотеки PIL является возможность создания и редактирования изображений. С ее помощью можно создавать новые изображения с определенными размерами и цветовыми схемами, а также редактировать существующие изображения. Например, можно добавлять текст, рисовать графические примитивы, наносить различные эффекты и многое другое.
Библиотека PIL также предоставляет возможность обработки изображений в пакетном режиме. Это означает, что можно применять определенные операции к нескольким изображениям одновременно. Например, можно изменить размер и применить фильтр ко множеству изображений, что сэкономит время и упростит процесс обработки большого количества изображений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1🔥1
def add_item(lst):
lst.append(100)
my_list = [1, 2, 3]
add_item(my_list)
print(my_list) # [1, 2, 3, 100]
Изменяемые типы:
list, dict, set, bytearrayНеизменяемые:
int, float, str, tuple, frozenset• работе с функциями (аргументы по ссылке),
• проектировании безопасных API,
• использовании словарей и множеств (ключи должны быть immutable).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤2
zeros((n, m)) - создает массив нулей с размером n x m.>>> np.zeros((3, 2))
array([[0., 0.],
[0., 0.],
[0., 0.]])
ones((n, m)) - создает массив единиц с размером n x m.>>> np.ones((2, 3))
array([[1., 1., 1.],
[1., 1., 1.]])
>>> np.ones((2, 2), dtype=np.int16)
array([[1, 1],
[1, 1]], dtype=int16)
empty() - создает массив без заполнения. Исходное содержимое случайно и зависит от состояния памяти на момент создания массива (мусор, что в ней хранится).>>> np.empty((2,2))
array([[5.e-324, 0.e+000],
[0.e+000, 5.e-324]])
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2❤1🤔1
.gitignore:# Кэш компиляции Python
__pycache__/
*.py[cod]
# Виртуальное окружение
venv/
env/
# Файлы зависимостей и IDE
*.log
*.sqlite3
*.env
*.DS_Store
# VS Code / PyCharm и прочее
.vscode/
.idea/
# Файлы зависимостей
pip-wheel-metadata/
*.egg-info/
dist/
build/
— Не лить в гит лишнее
— Исключить локальные настройки и окружение
— Сохранить проект чистым и переносимым
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥3
Что выдаст код выше❔
Anonymous Quiz
18%
True True
13%
False False
30%
True False
10%
False True
29%
Error
🤔6🤨2🔥1🤓1
В Python при приведении к bool любая непустая строка(даже если это пробелы) оценивается как True, а комплексный ноль - False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👾2
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 объектов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤1
Для начала давайте создадим простой график. Для этого нам понадобятся данные, которые мы будем отображать на графике. В примере ниже мы создадим массив данных для точек 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()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3
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)-Простота и удобство проверки наличия общих элементов: Метод isdisjoint() предоставляет простой способ быстрой проверки наличия общих элементов между двумя множествами.
-Эффективность: Поиск общих элементов выполняется эффективно благодаря внутренней реализации Python для множеств.
Этот метод особенно полезен, если вам нужно определить, существует ли пересечение между двумя множествами перед выполнением других операций.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3❤2
Простое тестирование и сравнение классических алгоритмов (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 для экспериментов с рекомендательными алгоритмами без сложной инфраструктуры — идеально для исследований и прототипирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🔥2
user_input = "42a"
try:
number = int(user_input)
print("Число:", number)
except ValueError:
print("Ошибка: это не целое число")
Ошибка: это не целое число
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4👌1
# Установка библиотеки
!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)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3
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) + поддержка "тёмной/светлой" тем прямо в терминале.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥4
import webview
# Создаем окно с URL
webview.create_window('Пример pywebview', '<https://example.com>')
# Запускаем приложение
webview.start()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3❤2👏1
Оператор %s используется для вставки значения переменной в строку. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует переменная, значения которой нужно вставить.
Пример:
name = "John"
age = 25
print("Меня зовут %s и мне %s лет." % (name, age))
Вывод:
Меня зовут John и мне 25 лет.
Оператор %s также может использоваться для форматирования чисел. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует число, значение которого нужно вставить.
Пример:
number = 42
print("Ответ на главный вопрос жизни: %s" % number)
Вывод:
Ответ на главный вопрос жизни: 42
number в строку.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5❤1
x = 10
def demo():
y = 5
print("Локальные:", locals())
print("Глобальные:", globals()["x"])
demo()
Локальные: {'y': 5}
Глобальные: 10
- Отладка и инспекция переменных
- Динамическое выполнение кода (eval, exec)
- Построение интерактивных сред (например, REPL или дебаггеры)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3❤2
Автоматизирует всю рутину: предобработку данных, feature engineering и подбор моделей с визуализацией результатов.
import dabl
data = dabl.datasets.load_titanic()
dabl.SimpleClassifier().fit(data, target_col="survived")
# Готово! Смотрите отчёт в Jupyter
Мгновенный старт работы с данными — библиотека сама определяет типы фичей, подбирает трансформеры и строит interpretable-модели.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3❤1
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🤣3👍2💯1😐1
help(print)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥2