👍4
Python Hub - сборище Питонистов
Photo
Разбор 😎
Разбора не будет. Это аксиома)
Аксиома - исходное положение какой-либо теории, принимаемое в рамках данной теории истинным без требования доказательства
👍4🗿2
SQL вставка внешних ключей в таблицу при помощи Python
Подготовка базы данных
Прежде чем начать вставку внешних ключей, необходимо подготовить базу данных и создать таблицы, между которыми мы будем устанавливать связи. Рассмотрим простой пример двух таблиц:
Вставка данных и внешних ключей с помощью Python 🐍
Теперь, когда наша база данных готова, мы можем перейти к вставке данных и внешних ключей с помощью Python. Для этого нам понадобится библиотека
Далее, напишем скрипт на 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, устанавливая соответствующие внешние ключи.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, и мы сможем обработать его, откатив изменения и предупредив пользователя об ошибке.👍4❤1
🔢 Имеется кортеж вида t = (4, 2, 3). Какая из операций приведёт к тому, что имя t будет ссылаться на кортеж (1, 2, 3)?
Anonymous Quiz
16%
t[0] = 1
12%
t = (1) + t[1:]
19%
t = (1,) + t[1:]
12%
t.startswith(1)
30%
Нет верного варианта
12%
Не знаю
👍5🤔2🤯1
Python Hub - сборище Питонистов
🔢 Имеется кортеж вида t = (4, 2, 3). Какая из операций приведёт к тому, что имя t будет ссылаться на кортеж (1, 2, 3)?
Разбор!
Поскольку кортежи неизменяемы, их нельзя модифицировать на месте, но можно создать новый кортеж с желаемым значением. Изменить первый элемент можно за счёт создания нового кортежа из частей имеющегося с помощью срезов и конкатенации: `t = (1,) + t[1:]`. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.
👍6❤1
Для чего в Python используется встроенная функция enumerate()?
Anonymous Quiz
26%
Для определения количества элементов последовательности.
59%
Для одновременного итерирования по самим элементам и их индексам.
5%
Нет правильного ответа
4%
Функции enumerate не существует в Python
7%
не знаю
👍2❤1
Python Hub - сборище Питонистов
Для чего в Python используется встроенная функция enumerate()?
>60% верно ответили 🤩
А для остальных 40% вот разбор👇
Часто в коде начинающих разработчиков на Python можно встретить объявление for-цикла в виде for i in range(len(numbers)), когда можно обойтись for num in numbers. Если в коде действительно необходим и сам элемент, и его индекс, используйте enumerate(): for i, num in enumerate(numbers)
А для остальных 40% вот разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1😁1
⚠️ Промокод на бесплатное использование хостинга все еще актуален! (как минимум месяц🧐😃)⚠️
😎 У хостинга Hostetski все еще действует промокод SHCODER14
При вводе в процессе заказа дает скидку до 3$ на срок до одного месяца.
(первый месяц выйдет бесплатным для простых тарифов)
Этого хватит на базовый и базовый+ тариф, а потом уже сможете решить, оставаться пользоваться данным хостом или нет. 🤔
Ссылка на заказ тарифа: https://hostetski.ge/cart.php?a=confproduct&i=0&aff=2
📹Видос, где можно детально посмотреть, как загрузить своего тг бота есть у меня на канале:
https://www.youtube.com/watch?v=kwFEeuzICjU
😎 У хостинга Hostetski все еще действует промокод SHCODER14
При вводе в процессе заказа дает скидку до 3$ на срок до одного месяца.
(первый месяц выйдет бесплатным для простых тарифов)
Этого хватит на базовый и базовый+ тариф, а потом уже сможете решить, оставаться пользоваться данным хостом или нет. 🤔
Ссылка на заказ тарифа: https://hostetski.ge/cart.php?a=confproduct&i=0&aff=2
📹Видос, где можно детально посмотреть, как загрузить своего тг бота есть у меня на канале:
https://www.youtube.com/watch?v=kwFEeuzICjU
YouTube
TELEGRAM BOT на PYTHON AIOgram | ЗАГРУЖАЕМ на СЕРВЕР | ХОСТИНГ
В этом видео мы создадим простого бота в телеграм на библиотеке Aiogram и загрузим его на хостинг. На этом сервере наш бот сможет постоянно работать.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 ht…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 ht…
👍4❤1
Вопрос со звёздочкой (в прямом смысле😅). Что выведет код выше?
Anonymous Quiz
7%
[1] [] [2]
12%
1 0 2
17%
1 [] 2
15%
1 None 2
30%
Error: элементов в списке меньше, чем переменных.
11%
Нет верного ответа
7%
Не знаю
👍1
Разбор!
Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2. Подробнее про распаковку тут
❤1👍1🍌1
Что выведет код выше?
Anonymous Quiz
13%
IndexError
36%
Получено исключение.
2%
None
7%
TypeError
24%
Получено исключение. Но в этом нет ничего страшного.
4%
Ничего
4%
Нет верного ответа
10%
Не знаю
🤯4🍌1
Python Hub - сборище Питонистов
Что выведет код выше?
Разбор!
Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.
👍2❤1
Делаем? Делаем!
Это, можно сказать, полноценная версия телеграм бота, где можно генерить картинки при помощи текста.😇😇😇
Пользуйтесь, друзья😍
Перезаливчик
https://youtu.be/RBSpVoZmZmE?si=i6CuORFGZH-
Это, можно сказать, полноценная версия телеграм бота, где можно генерить картинки при помощи текста.😇😇😇
Пользуйтесь, друзья😍
https://youtu.be/RBSpVoZmZmE?si=i6CuORFGZH-
YouTube
НЕЙРО ТЕЛЕГРАМ БОТ генерации ИЗОБРАЖЕНИЙ из ТЕКСТА на PYTHON | ОТПРАВКА КАРТИНКИ | AIOgram
В этом видео мы создадим телеграм бота, который сможет генерировать изображения из текста. Использовать будем язык программирования Python, библиотеку Aiogram. Добавим уже финальный MVP шаг - отправку картинки после генерации.
👨💻 Подписывайся на наш телеграм…
👨💻 Подписывайся на наш телеграм…
👍4❤1
📚 Библиотека aiosqlite с примерами на Python
Современные приложения требуют высокой производительности и асинхронной обработки данных. Одним из инструментов, который помогает разработчикам Python достигать этих целей, является библиотека
🛠 Установка и начальная настройка
Первый шаг в использовании
После установки, можно приступить к настройке подключения к базе данных. Рассмотрим простой пример:
В этом примере мы создаем подключение к базе данных
🔄 Выполнение асинхронных запросов
Одним из ключевых преимуществ
В этом примере мы добавляем двух пользователей в таблицу
⚠️ Обработка ошибок и управление транзакциями
Любое взаимодействие с базой данных может сопровождаться ошибками, и важно уметь правильно их обрабатывать. Кроме того,
В этом примере мы демонстрируем использование транзакций и обработку ошибок. Если в процессе выполнения транзакции возникает ошибка, изменения автоматически откатываются.
Современные приложения требуют высокой производительности и асинхронной обработки данных. Одним из инструментов, который помогает разработчикам 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())
В этом примере мы демонстрируем использование транзакций и обработку ошибок. Если в процессе выполнения транзакции возникает ошибка, изменения автоматически откатываются.
👍4
🚀 Давайте поможем всем, кто это читает!
💻 Подскажите, в каких чатах можно найти работу, связанную с Python'ом?
Большая часть аудитории этого канала занимается разработкой ботов. Может, есть чатики для вакансий или заказов на разработку телеграм-ботов?
🤔 Если таких чатов нет, как думаете, было бы актуально что-то подобное создать?
💡 У меня появилась идея — создать сайтик/сервис со всеми стажировками в IT! Пользовались бы?
P.S. Поделитесь, где искать стажировки. Вдруг я какой-то крутой сервис пропустил 😅
Гоу вместе найдем полезные ресурсы и поддержим друг друга! 🌟
💻 Подскажите, в каких чатах можно найти работу, связанную с Python'ом?
Большая часть аудитории этого канала занимается разработкой ботов. Может, есть чатики для вакансий или заказов на разработку телеграм-ботов?
🤔 Если таких чатов нет, как думаете, было бы актуально что-то подобное создать?
💡 У меня появилась идея — создать сайтик/сервис со всеми стажировками в IT! Пользовались бы?
P.S. Поделитесь, где искать стажировки. Вдруг я какой-то крутой сервис пропустил 😅
Гоу вместе найдем полезные ресурсы и поддержим друг друга! 🌟
👍5❤2🤯1