Python на примерах
1.64K subscribers
354 photos
6 videos
131 links
Короткие уроки Python на примерах.
Контакты @gigweb
Download Telegram
Невидимые заметки в файле!

Этот лайфхак позволяет скрывать текстовые сообщения внутри файлов, так что их нельзя будет увидеть обычными способами!

Как это работает?
Мы используем невидимые символы Unicode для сокрытия текста прямо в файле. Такие символы не отображаются в редакторах, но остаются в файле!

Как это работает?
Встроенные в текст невидимые символы Unicode (\u200b, \u200c) кодируют биты скрытого сообщения.
Файл выглядит обычным текстом, но содержит невидимую информацию.
Сообщение можно извлечь с помощью специального кода.
1
Удобные One-Liners

Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.
Ускорение компиляции с помощью numba

Если определённая часть твоего кода всё ещё работает медленно, попробуй библиотеку numba, чтобы компилировать код. numba ускоряет выполнение в 10-20 раз, так как компилирует код в машинные инструкции.
1👍1
Как удалить все 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.

Официальная документация только на английском
Русская документация
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
Please open Telegram to view this post
VIEW IN TELEGRAM
for и else

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

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

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

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

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

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

pip install transliterate

Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
Please open Telegram to view this post
VIEW IN TELEGRAM