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

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

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

Всё прост, у множества мы не можем взять элемент по индексу.
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥4🤓1
➡️Извлечение данных из новостных статей

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

➡️Пример кода для извлечения данных:

from newspaper import Article

# URL статьи
url = 'https://example.com/some-news-article'

# Создание объекта статьи
article = Article(url)

# Загрузка и парсинг статьи
article.download()
article.parse()

# Извлечение данных
print("Заголовок:", article.title)
print("Автор(ы):", article.authors)
print("Дата публикации:", article.publish_date)
print("Текст статьи:", article.text)


➡️Анализ контента

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

➡️Пример кода для анализа контента:

# NLP (Natural Language Processing) для анализа
article.nlp()

print("Ключевые слова:", article.keywords)
print("Резюме:", article.summary)


➡️Работа с большими объемами данных

Newspaper3k также эффективно справляется с обработкой больших объемов данных. Она поддерживает многопоточность, что позволяет одновременно обрабатывать множество статей, экономя время и ресурсы. Это делает библиотеку идеальным выбором для проектов, связанных с большими данными и машинным обучением, где требуется автоматическая обработка информации из различных новостных источников.

➡️Пример кода для работы с несколькими статьями:

from newspaper import news_pool

# URL статей
urls = [
'https://example.com/news1',
'https://example.com/news2',
'https://example.com/news3'
]

# Создание объектов статей
articles = [Article(url) for url in urls]

# Загрузка и парсинг статей с использованием многопоточности
news_pool.set(articles, threads_per_source=2)
news_pool.join()

for article in articles:
article.parse()
print("Заголовок:", article.title)


Ссылка на либу

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥3
👍6
👍63🤨3🤓2
Разбор

Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: `t = (1,) + t[1:]`. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7🤓5
✈️Современные приложения требуют высокой производительности и асинхронной обработки данных. Одним из инструментов, который помогает разработчикам Python достигать этих целей, является библиотека aiosqlite. Она позволяет выполнять асинхронные операции с базой данных SQLite, что значительно улучшает отклик приложения и его масштабируемость.

➡️Установка и начальная настройка

Первый шаг в использовании aiosqlite — это установка библиотеки. Это можно сделать с помощью pip:

pip install aiosqlite


💬После установки, можно приступить к настройке подключения к базе данных. Рассмотрим простой пример:

import aiosqlite
import asyncio

async def main():
async with aiosqlite.connect('example.db') as db:
await db.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)')
await db.commit()

asyncio.run(main())


⬆️В этом примере мы создаем подключение к базе данных example.db и создаем таблицу users, если она еще не существует.

➡️Выполнение асинхронных запросов

Одним из ключевых преимуществ aiosqlite является возможность выполнения асинхронных запросов. Рассмотрим пример добавления и получения данных из таблицы:

async def add_user(db, user_name):
await db.execute('INSERT INTO users (name) VALUES (?)', (user_name,))
await db.commit()

async def get_users(db):
async with db.execute('SELECT * FROM users') as cursor:
async for row in cursor:
print(row)

async def main():
async with aiosqlite.connect('example.db') as db:
await add_user(db, 'Alice')
await add_user(db, 'Bob')
await get_users(db)

asyncio.run(main())


⬆️В этом примере мы добавляем двух пользователей в таблицу users и выводим всех пользователей на экран. Обратите внимание, что все операции с базой данных выполняются асинхронно.

➡️Обработка ошибок и управление транзакциями

Любое взаимодействие с базой данных может сопровождаться ошибками, и важно уметь правильно их обрабатывать. Кроме того, aiosqlite поддерживает работу с транзакциями:

async def main():
async with aiosqlite.connect('example.db') as db:
try:
async with db.execute('BEGIN'):
await db.execute('INSERT INTO users (name) VALUES (?)', ('Charlie',))
# Принудительно вызовем ошибку
raise Exception("Something went wrong")
await db.commit()
except Exception as e:
await db.rollback()
print(f"Transaction failed: {e}")

asyncio.run(main())


⬆️В этом примере мы демонстрируем использование транзакций и обработку ошибок. Если в процессе выполнения транзакции возникает ошибка, изменения автоматически откатываются.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥3
Разбор

Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate(): for i, num in enumerate(numbers)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥3
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15🤣12🔥3👍21
🎮Pyxel — это библиотека для создания ретро-игр на языке программирования Python. Она идеально подходит для разработчиков, которые хотят погрузиться в мир 8-битных игр, создавая собственные проекты с минимальными усилиями.

Почему Pyxel

➡️Простота использования

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

➡️Встроенные инструменты

Pyxel поставляется с набором встроенных инструментов, которые облегчают разработку игр. Среди них: редактор спрайтов, редактор звуков и редактор карт.

➡️Кроссплатформенность

Ещё одно важное преимущество Pyxel — это её кроссплатформенность. Библиотека поддерживает Windows, macOS и Linux, что позволяет разрабатывать игры на любой из этих платформ.

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍127🔥5
👍82
Разбор

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146👍4
👍72
Что выдаст код выше
Anonymous Quiz
43%
True
47%
False
3%
None
7%
Error
👍6🤨42😐1
👀Разбор

Весь нюанс в том, что var - список с каким-то содержимым из множества элементов
А var2 - список, который содержит в себе только 1 элемент —> var (как бы ссылаясь на него)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓7🔥5👍4
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣33😁7👍5
🕔Одним из главных преимуществ библиотеки delorean является её простота использования. Она предоставляет разработчикам возможность легко создавать, манипулировать и форматировать временные объекты.

💬Пример кода
import delorean

# Создание объекта текущего времени
now = delorean.now()
print("Текущее время:", now)

# Преобразование времени в строку в формате ISO
iso_format = now.datetime.isoformat()
print("ISO формат:", iso_format)


➡️Работа с временными зонами

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

💬Пример кода
import delorean

# Создание объекта времени в определённой временной зоне
dt = delorean.parse("2023-10-10 10:00:00", timezone="UTC")

# Преобразование времени в другую временную зону
local_dt = dt.shift("US/Eastern")
print("Время в восточной временной зоне США:", local_dt)


➡️Временные интервалы и манипуляции

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

💬Пример кода
import delorean

# Создание двух объектов времени
start = delorean.parse("2023-10-10 10:00:00")
end = delorean.parse("2023-10-10 12:30:00")

# Вычисление разницы между двумя временными точками
diff = end - start
print("Разница во времени:", diff)

# Добавление временного интервала
new_time = start + delorean.timedelta(hours=2)
print("Новое время:", new_time)


🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍7🔥2😐1
✈️Сегодня мы рассмотрим библиотеку python-nubia, которая предназначена для создания командных интерфейсов в Python. Эта библиотека была разработана компанией Facebook и, хотя сейчас она больше не развивается, она все еще заслуживает внимания за свои уникальные возможности и подходы.

➡️Удобство использования

Одним из ключевых преимуществ python-nubia является её простота и удобство использования. Библиотека позволяет легко создавать командные интерфейсы, используя аннотации и декораторы. Это делает код более читабельным и поддерживаемым. Разработчики могут быстро добавлять новые команды и опции, что значительно ускоряет процесс разработки.

➡️Гибкость и расширяемость

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

Примеры использования

🐍Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2🔥2
2👍2