en
Feedback
Python Hub - сборище Питонистов

Python Hub - сборище Питонистов

Open in Telegram

Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат

Show more
1 751
Subscribers
-124 hours
No data7 days
+430 days
Posts Archive
⚠️ Промокод на бесплатное использование хостинга все еще актуален! (как минимум месяц🧐😃)⚠️ 😎 У хостинга Hostetski все еще действует промокод SHCODER14 При вводе в процессе заказа дает скидку до 3$ на срок до одного месяца. (первый месяц выйдет бесплатным для простых тарифов) Этого хватит на базовый и базовый+ тариф, а потом уже сможете решить, оставаться пользоваться данным хостом или нет. 🤔 Ссылка на заказ тарифа: https://hostetski.ge/cart.php?a=confproduct&i=0&aff=2 📹Видос, где можно детально посмотреть, как загрузить своего тг бота есть у меня на канале: https://www.youtube.com/watch?v=kwFEeuzICjU

>60% верно ответили 🤩 А для остальных 40% вот разбор 👇 Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate(): for i, num in enumerate(numbers)

Для чего в Python используется встроенная функция enumerate()?
Anonymous voting

Разбор! Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но мож­но создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: `t = (1,) + t[1:]`. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.

🔢 Имеется кортеж вида t = (4, 2, 3). Какая из операций приведёт к тому, что имя t будет ссылаться на кортеж (1, 2, 3)?
Anonymous voting

SQL вставка внешних ключей в таблицу при помощи Python Подготовка базы данных Прежде чем начать вставку внешних ключей, необходимо подготовить базу данных и создать таблицы, между которыми мы будем устанавливать связи. Рассмотрим простой пример двух таблиц: authors и books. Таблица authors будет содержать информацию об авторах, а таблица books - информацию о книгах, написанных этими авторами. Для начала создадим эти таблицы с использованием языка SQL.
CREATE TABLE authors (
    author_id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL
);

CREATE TABLE books (
    book_id SERIAL PRIMARY KEY,
    title VARCHAR(100) NOT NULL,
    author_id INT,
    FOREIGN KEY (author_id) REFERENCES authors (author_id)
);
Вставка данных и внешних ключей с помощью Python 🐍 Теперь, когда наша база данных готова, мы можем перейти к вставке данных и внешних ключей с помощью Python. Для этого нам понадобится библиотека psycopg2, которая позволяет взаимодействовать с PostgreSQL базой данных. Убедитесь, что она установлена:
pip install psycopg2
Далее, напишем скрипт на Python, который будет вставлять данные в таблицы authors и books, устанавливая соответствующие внешние ключи. ```python import psycopg2 # Соединение с базой данных conn = psycopg2.connect( dbname="your_db_name", user="your_db_user", password="your_db_password", host="your_db_host", port="your_db_port" ) cursor = conn.cursor() # Вставка данных в таблицу authors cursor.execute("INSERT INTO authors (name) VALUES (%s) RETURNING author_id", ("J.K. Rowling",)) author_id = cursor.fetchone()[0] Вставка данных в таблицу books с указанием внешнего ключа cursor.execute("INSERT INTO books (title, author_id) VALUES (%s, %s)", ("Harry Potter", author_id)) # Сохранение изменений и закрытие соединения conn.commit() cursor.close() conn.close() ``` Проверка и управление целостностью данных 🛡 Внешние ключи помогают поддерживать целостность данных в базе данных. Например, они не позволяют вставлять в таблицу books значения author_id, которых нет в таблице authors. Рассмотрим, как это работает на практике. Попробуем вставить книгу с несуществующим author_id и посмотрим, что произойдет.
try:
    cursor.execute("INSERT INTO books (title, author_id) VALUES (%s, %s)", ("Unknown Book", 999))
    conn.commit()
except psycopg2.IntegrityError as e:
    conn.rollback()
    print("Ошибка целостности данных: невозможно вставить книгу с несуществующим автором.")
В данном случае psycopg2 выбросит исключение IntegrityError, и мы сможем обработать его, откатив изменения и предупредив пользователя об ошибке.

Разбор 😎 Разбора не будет. Это аксиома)

Какой вариант кода является верным?
Anonymous voting

❗️❗️❗️❗️Библиотека newspaper3k в Python 📰 ❗️❗️❗️❗️ Извлечение данных из новостных статей 📑 Основная задача библиотеки 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)
Ссылка на либу: https://pypi.org/project/newspaper3k/

🤪 Множества в Python {} 🔥 Создание множеств 🚀 Множества в Python можно создавать несколькими способами. Один из них — использование встроенной функции set(). Например, можно создать пустое множество с помощью set(), или же инициализировать его элементами. Еще один способ создания множества — использование фигурных скобок {}. Однако, если в фигурных скобках не указано ни одного элемента, это трактуется как создание пустого словаря, а не множества.
# Создание пустого множества
empty_set = set()

# Создание множества с элементами
numbers = {1, 2, 3, 4, 5}
Основные операции с множествами 💡 Множества поддерживают множество стандартных операций, таких как объединение, пересечение и разность. Эти операции могут быть выполнены с помощью операторов или встроенных методов. Например, для объединения двух множеств можно использовать оператор | или метод union(), а для пересечения — оператор & или метод intersection().
# Объединение множеств
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1 | set2  # {1, 2, 3, 4, 5}

# Пересечение множеств
intersection_set = set1 & set2  # {3}
Примеры использования множеств 📊 Множества находят широкое применение в различных областях программирования. Одним из примеров является удаление дубликатов из списка. С помощью множества можно быстро преобразовать список с дубликатами в список уникальных элементов. Еще один пример — проверка принадлежности элемента множеству, что выполняется значительно быстрее, чем в списках.
# Удаление дубликатов из списка
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = list(set(numbers))  # [1, 2, 3, 4, 5]

# Проверка принадлежности элемента множеству
if 3 in unique_numbers:
    print("3 присутствует в множестве")

Разбор 😎 У множества мы не можем взять элемент по индексу.

Что выдаст код выше?
Anonymous voting

⁉️ Разница между CEO и SEO ⁉️ 🔍 CEO (Chief Executive Officer) CEO, или генеральный директор, является высшим руководителем компании. Он несет ответственность за определение стратегического направления организации и принятие ключевых решений. CEO управляет всеми аспектами бизнеса, от финансов и маркетинга до операционных процессов и кадровых вопросов. Его задача - обеспечить рост и стабильность компании, а также представлять её интересы перед инвесторами, партнерами и общественностью. 💼 SEO менеджер (Search Engine Optimization Manager) SEO менеджер занимается оптимизацией веб-сайта компании для поисковых систем. Его основная цель - увеличить видимость сайта в результатах поиска, что способствует привлечению большего количества посетителей и потенциальных клиентов. SEO менеджер анализирует ключевые слова, следит за изменениями в алгоритмах поисковых систем и разрабатывает стратегии по улучшению контента и структуры сайта. Его работа направлена на повышение рейтинга сайта и, как следствие, увеличение трафика. 🆚 Основные различия между CEO и SEO менеджером Различия между CEO и SEO менеджером заключаются в их обязанностях и уровне ответственности. CEO отвечает за общую стратегию и успех компании, принимая важные решения, которые влияют на все аспекты бизнеса. В то же время, SEO менеджер фокусируется исключительно на цифровом маркетинге и оптимизации сайта для поисковых систем. Он является специалистом в своей области и работает над улучшением онлайн-присутствия компании, но не принимает глобальные управленческие решения.

🌐 Веб...ЕРАМ посвящается! На коленке создаем сайтик и выкладываем на фри хостинг. 🖥 Работать будет не очень стабильно и не очень долго, но... лучше, чем ничего! https://www.youtube.com/watch?v=lKuIr56yIxA

🚀 Библиотека python-benedict в Python. [словарь на стероидах] 🗂 Основное преимущество python-benedict состоит в её способности обрабатывать вложенные словари и предоставлять удобные методы для доступа к данным. Например, вы можете легко получить значение по сложному ключу, используя метод get.
from benedict import benedict

data = benedict({
    'user': {
        'profile': {
            'name': 'John Doe'
        }
    }
})

print(data.get('user.profile.name'))  # Вывод: John Doe
🔍 Работа с вложенными данными Одной из ключевых особенностей библиотеки является её способность работать с вложенными данными. Вам не нужно писать сложные циклы или проверки, чтобы получить доступ к глубоко вложенным значениям. python-benedict делает это за вас.
data = benedict({
    'config': {
        'database': {
            'host': 'localhost',
            'port': 5432
        }
    }
})

print(data['config.database.host'])  # Вывод: localhost
print(data['config.database.port'])  # Вывод: 5432
Также вы можете использовать метод update для изменения вложенных значений.
data.update('config.database.port', 3306)
print(data['config.database.port'])  # Вывод: 3306
🔄 Преобразование форматов данных python-benedict поддерживает преобразование данных между различными форматами, такими как JSON, XML и другие. Это делает библиотеку полезной для задач, связанных с обменом данными между различными системами.
json_data = """
{
  "user": {
    "profile": {
      "name": "Jane Doe"
    }
  }
}
"""

data = benedict.from_json(json_data)
print(data['user.profile.name'])  # Вывод: Jane Doe

xml_data = data.to_xml()
print(xml_data)
Это особенно удобно, когда нужно быстро преобразовать данные из одного формата в другой без необходимости использования дополнительных библиотек. 🌐🔄

📅 Библиотека Pendulum в Python: удобное создание и форматирование дат! 🕰 Одним из основных преимуществ Pendulum является возможность легко создавать и форматировать даты. Давайте рассмотрим пример:
import pendulum

# Создание даты
date = pendulum.datetime(2023, 10, 5)

# Форматирование даты
formatted_date = date.format('YYYY-MM-DD')
print(formatted_date)  # Вывод: 2023-10-05
С помощью Pendulum вы можете легко создавать даты и форматировать их в нужный формат с помощью метода format. ✨ 🌍 Работа с временными зонами Pendulum значительно упрощает работу с временными зонами. Пример создания даты в одной временной зоне и её преобразования в другую:
# Создание даты в временной зоне 'Europe/Moscow'
moscow_time = pendulum.datetime(2023, 10, 5, tz='Europe/Moscow')
print(moscow_time)  # Вывод: 2023-10-05T00:00:00+03:00

# Преобразование в другую временную зону
ny_time = moscow_time.in_timezone('America/New_York')
print(ny_time)  # Вывод: 2023-10-04T17:00:00-04:00
С Pendulum работа с временными зонами становится интуитивно понятной и простой! ⏰ 🔄 Различные операции с датами Pendulum предоставляет широкий набор методов для выполнения различных операций с датами. Пример добавления и вычитания временных интервалов:
# Создание даты
date = pendulum.datetime(2023, 10, 5)

# Добавление 5 дней
new_date = date.add(days=5)
print(new_date)  # Вывод: 2023-10-10T00:00:00+00:00

# Вычитание 2 часов
new_date = date.subtract(hours=2)
print(new_date)  # Вывод: 2023-10-04T22:00:00+00:00
С методами add и subtract вы можете легко выполнять арифметические операции с датами, что делает работу с временными интервалами очень удобной. 📈🗓