Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Как удалить все falsy-значения из списка?

В списке могут быть нежелательные элементы, такие как None, пустые строки, 0 или False. Новички могут использовать циклы и условия, но Python предлагает элегантное решение — функцию filter().

Этот приём позволяет удалить falsy-значения за одну строку: list(filter(None, list1)) автоматически убирает None, 0, False и пустые строки.

Итог
Очистка списка за одну строку.
Удаляет None, 0, False, пустые строки и списки.
Удобно для предобработки данных!
Как заменить все вхождения элемента в списке?

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

Этот приём позволяет заменить элемент за одну строку: [new_value if x == old_value else x for x in list1] проходит по списку и меняет нужные элементы.

Итог:
Работает за одну строку.
Заменяет все вхождения элемента.
Удобно для предобработки данных!
SDV - библиотека, разработанная учеными MIT, использующая алгоритмы машинного обучения для генерации различного рода таблиц при помощи анализа реальных данных и создания на их основе синтетических данных в Python.

Либа позволяет создать единичные таблицы, соединенные мульти-таблицы и секвентальные таблицы.

Пример кода:
from sdv.datasets.demo import download_demo

real_data, metadata = download_demo(
modality='single_table',
dataset_name='fake_hotel_guests')


В результате генерирует такую таблицу.

Ставится командой pip install sdv
Документация и примеры кода на Github
MQL — переводит запрос, описанный обычными словами в код на SQL при помощи нейросетей.

То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю

И он вам выдаёт SELECT * FROM ... и тд.
Colorama — библиотека, позволяющая работать с цветом вывода в консоль.

С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.

Colorama также может менять текст на жирный и на тусклый. Всё это показано на скрине выше.

Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.

Ставится командой pip install colorama
Документация и примеры кода здесь
Cartopy

Cartopy — это Python-библиотека, предназначенная для создания карт и обработки геопространственных данных. Она построена на базе Matplotlib и обладает широким набором функций для создания профессиональных карт.
👍1
str.zfill

str.zfill дополняет строку нулями слева до заданной длины. Это полезно для форматирования чисел с фиксированной шириной, например, в номерах счетов или индексах.
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.

Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template

@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.

Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".

Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.

Официальная документация только на английском
Русская документация
❤1
SQLAlchemy — это штука, которая сильно упрощает работу с базами данных в Python. Она позволяет писать код так, будто ты работаешь с обычными объектами, а не с таблицами. Но если нужно, всегда можно написать чистый SQL-запрос.

Например, вот как легко создать таблицу пользователей и добавить туда запись:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)

engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)
session = Session()

new_user = User(name="Али")
session.add(new_user)
session.commit()

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

Ставится командой ⚙️ pip install SQLAlchemy
Официальная документация и примеры кода здесь
Веб-приложение для анализа изображений

Делимся кодом, который позволяет реализовать веб-приложение. Этот сервис может загружать изображение, анализировать его с помощью нейросети и возвращать результаты (например, распознавание объектов).

Flask используется для создания простого веб-приложения, которое позволяет пользователю загрузить изображение. Изображение обрабатывается через TensorFlow, используя предобученную модель MobileNetV2 для классификации изображений. После загрузки изображения приложение возвращает топ-3 предсказания модели, с вероятностями для каждого из классов. Для запуска нужно создать шаблон HTML (например, index.html) для загрузки изображения.

Сссылка на код
Использование метода @classmethod для создания объектов альтернативным способом

Если вам нужно создать объект класса с использованием альтернативных данных или форматов, вы можете использовать метод @classmethod, чтобы добавить дополнительные конструкторы. Это позволяет создать объект не только с использованием стандартного init, но и другими способами.

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

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

Этот лайфхак добавляет немного автоматизации и удовольствия в повседневную работу с компьютером, делая рабочий стол динамичным и актуальным.
🔥1
Создание собственного командного чат-бота на Python для локального управления файлами

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

Этот простой чат-бот позволяет интерактивно управлять файлами с помощью текстовых команд, что делает его удобным инструментом для локальной автоматизации и обучения.
❤2
for и else

Если вы думали, что else есть только у if, то вынужден вас огорчить. Оно встречается и у try, и у for.

Блок else выполняется если цикл завершился нормально, то есть не был остановлен с помощью оператора break.

Хочу заметить, что continue никак не влияют на блок else, только оператор break имеет значение.

Документация
❤7👍1
Модуль transliterate

В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.

Для использования библиотеки transliterate сначала нужно установить её с помощью pip:

pip install transliterate

Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
JPype

JPype - это модуль, который позволяет взаимодействовать с кодом на Java из Python.

Основные области применения JPype:
- Доступ к библиотекам Java из Python.
- Интеграция с существующим Java кодом.
- Использование JVM из Python.

В этом примере мы импортируем класс String из Java и создаем экземпляр этого класса.
Затем вызываем метод toUpperCase() у объекта javaString. Таким образом из Python мы можем работать с объектами и вызывать методы Java.
Результат работы программы:
HELLO FROM JAVA!
Рефлексия

Рефлексия — это возможность программы получать доступ к своей собственной структуре и поведению во время выполнения. Это означает, что программа может получить информацию о типах объектов, именах методов, атрибутах и других свойствах.
Узнаём ip адрес своего компьютера

Этот код использует библиотеку requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.

Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.
PyQt6

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

Чтобы начать работу с PyQt6, необходимо установить библиотеку. Для этого можно использовать менеджер пакетов, такой как pip:

pip install PyQt6

После установки библиотеки можно начать писать код для создания приложения с GUI.
👍2
PsychoPy

PsychoPy — это программное обеспечение для создания экспериментов в области психологии, нейронауки и экспериментальной психиатрии с использованием языка программирования Python. Он предоставляет инструменты для создания различных видов стимулов, управления временем, сбора данных и анализа результатов.

В примере на картинке мы создаем окно, текстовый стимул, отображаем его, ждем 2 секунды и затем закрываем окно. PsychoPy предоставляет богатый набор функций для создания более сложных экспериментов, таких как представление изображений, воспроизведение звуков, сбор данных о времени реакции и многое другое.
Как работает хэш-таблица в Python (dict):

🔹 Хэширование - при добавлении элемента вызывается hash(key), и получается целое число - хэш ключа.

🔹 Коллизии - если два ключа выдают одинаковый хэш, Python сохраняет их в одну "ячейку" (обычно в виде списка). Это называется метод цепочек.

🔹 Поиск - при доступе по ключу Python вычисляет его хэш и ищет значение в нужной ячейке. Быстро и эффективно.

⚡️ Словари — одна из причин, почему Python так удобен.
🔥1