Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
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
🐍 Python + Emojis = читаемый код?

Знаешь ли ты, что Python позволяет использовать emoji как имена переменных?

🔥 = 100  
💧 = 20
print(🔥 - 💧) # 80


Да, это работает! Python видит emoji как обычные юникод-символы. Конечно, так писать код в проде - плохая идея, но для фана или внутренних инструментов почему бы и нет?

⚠️ Внимание: поддержка может зависеть от шрифта и среды (IDE, консоль и т.д.).
JPype: работаем с Java из Python

JPype позволяет запускать Java-код прямо из Python, подключая JVM и используя Java-классы как обычные Python-объекты.

📌 Примеры применения:
– Подключение Java-библиотек
– Интеграция с существующими Java-системами
– Запуск JVM прямо из Python-кода

import jpype

jpype.startJVM()
String = jpype.JClass("java.lang.String")
javaString = String("Hello from Java!")
print(javaString.toUpperCase())
jpype.shutdownJVM()


🔧 Результат:
HELLO FROM JAVA!

Полезный инструмент, если нужен доступ к мощным Java-библиотекам без отказа от Python.
Метод missing

Метод missing — это магический метод, который вызывается, когда попытка доступа к несуществующему ключу в словаре. По умолчанию метод missing бросает исключение KeyError. Однако его можно переопределить, чтобы обеспечить другое поведение.

Общая форма метода missing выглядит следующим образом:

def __missing__(self, key):
# ...


Аргумент self представляет собой экземпляр словаря, в котором произошло обращение к несуществующему ключу. Аргумент key представляет собой сам несуществующий ключ.
🔁 Бесконечный for без while

Можно ли сделать бесконечный цикл без while True? Конечно! Вот один из способов:

for _ in iter(int, 1):
print("Работаю бесконечно...")


Почему это работает?
👉 iter(int, 1) создаёт итератор, который вызывает int() до тех пор, пока результат не станет равен 1.
Поскольку int() без аргументов всегда возвращает 0, условие никогда не выполнится - цикл бесконечен.

Такой трюк не только работает, но и удивляет тех, кто видит это впервые 👀
👍4
pywhatkit

Открывает сайты, пишет в WhatsApp, рисует ASCII, ищет в Google и даже управляет клавиатурой.

🔍 1. Поиск в Google

import pywhatkit as kit

kit.search("как стать Python-разработчиком")


🔹 Откроется вкладка браузера с результатами поиска.

---

💬 2. Отправка сообщения в WhatsApp

import pywhatkit as kit

kit.sendwhatmsg("+79991234567", "Привет с Python 👋", 15, 30)


🔹 Отправит сообщение в WhatsApp в 15:30. Работает только с установленным WhatsApp Web.
⚠️ Нужно запускать заранее — за 1–2 минуты до указанного времени.

---
🖼 3. Преобразование изображения в ASCII-арт

kit.image_to_ascii_art("cat.jpg", "cat_ascii")


🔹 Создаст файл cat_ascii.txt с артом из символов.

---
🖱 4. Управление клавиатурой

kit.send_keys("Notepad", "Hello from Python!")


🔹 Отправляет текст в указанное активное окно (например, блокнот). Подходит для автоматизации.

---
🧠 5. Случайный факт

kit.info("Python programming", lines=3)


🔹 Выведет краткую справку из Википедии (3 строки).

---

📦 Установка:

pip install pywhatkit