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

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

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
1
Что выдаст код выше
Anonymous Quiz
1%
6
6%
12
2%
222
65%
222222
8%
66
18%
Error
👍9🤓7🤔5
🤔Разбор

'2' + '2' —> '22' текстовый формат.
При умножении текста на число, текст дублируется столько раз, чему равно число.
В нашем случае '22' * 3 —> '222222'

Если было бы, например 'hello' * 3 —> 'hellohellohello'


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202🔥2
✈️Сегодня поговорим о том, как CRM (Customer Relationship Management) системы могут сделать вашу жизнь проще и эффективнее, особенно если вы работаете с Python.

➡️Что такое CRM?

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

➡️Для чего нужны CRM системы?

1. Автоматизация процессов: CRM берет на себя рутинные задачи, такие как отправка электронных писем, напоминания о встречах и отслеживание статусов сделок.
2. Управление контактами: Все данные о клиентах хранятся в одном месте, что упрощает доступ к информации и её обновление.
3. Анализ данных: С помощью CRM можно легко собирать и анализировать данные о клиентах, что помогает принимать стратегические решения.
4. Совместная работа: Команды могут совместно работать над проектами, делиться информацией и отслеживать прогресс.

➡️Какие CRM отлично взаимодействуют с Python?

1. Salesforce
- Salesforce предлагает мощный API, который позволяет интегрироваться с Python через REST или SOAP.
- Благодаря библиотекам, таким как simple-salesforce, разработчики могут легко взаимодействовать с системой.

2. HubSpot
- HubSpot предоставляет удобный API для работы с данными клиентов, сделками и контактами.
- Используйте библиотеку hubspot-api-client для Python, чтобы интегрировать HubSpot в свои приложения.

3. Zoho CRM
- Zoho CRM поддерживает интеграцию через REST API, что делает его отличным выбором для Python-разработчиков.
- Библиотека zcrmsdk поможет вам быстро начать работу с Zoho CRM.

4. Pipedrive
- Pipedrive предлагает простой и понятный API, который можно использовать для автоматизации процессов продаж.
- Используйте библиотеку pipedrive-python-lib для упрощенной интеграции.

⚡️Пример интеграции с Python

Давайте рассмотрим пример простого запроса к API Salesforce:
from simple_salesforce import Salesforce

# Авторизация
sf = Salesforce(username='your_username', password='your_password', security_token='your_token')

# Получение данных
accounts = sf.query("SELECT Name, Industry FROM Account")
print(accounts)


⬆️Этот код позволяет получить список аккаунтов из Salesforce и вывести их на экран. Просто и эффективно!

🔥Заключение

CRM системы — это мощный инструмент для улучшения бизнес-процессов, и их интеграция с Python открывает новые горизонты для автоматизации и анализа данных. Независимо от того, используете ли вы Salesforce, HubSpot, Zoho или Pipedrive, Python поможет вам создать эффективные и гибкие решения.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
✈️Когда мы говорим о космических технологиях, первое, что приходит на ум — это сложные системы управления и анализа данных. Однако не многие знают, что Python, один из самых популярных языков программирования, играет ключевую роль в современных космических миссиях. Давайте разберёмся, где и как этот язык применяется в NASA, SpaceX и других проектах.

➡️1. NASA и Python: анализ данных и моделирование

NASA активно использует Python для обработки данных с различных спутников и зондов. Одним из примеров является проект PDS (Planetary Data System) , который хранит и предоставляет доступ к данным, собранным во время миссий по исследованию планет Солнечной системы. Платформа PDS написана на Python и позволяет учёным легко анализировать данные, полученные от аппаратов, таких как марсоходы Curiosity и Perseverance.

Также Python используется в системе управления полётами и моделирования траекторий космических аппаратов. Например, библиотека SPICE (Spacecraft Planet Instrument C-matrix Events) широко применяется для расчёта траекторий и ориентации спутников.

💡В сочетании с Python она позволяет быстро и эффективно создавать модели движения космических объектов.

➡️2. SpaceX и автоматизация процессов

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

Важным аспектом использования Python в SpaceX является его применение в системах управления полётами. Хотя основные системы управления ракетами написаны на более низкоуровневых языках, таких как C++, Python используется для создания вспомогательных систем, которые помогают координировать работу основных систем и предоставлять информацию операторам в режиме реального времени.

➡️3. Моделирование и управление спутниками

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

Также Python используется в системах управления спутниками, таких как Kubos , которая предлагает набор инструментов для разработки и управления малыми спутниками. Kubos позволяет разработчикам быстро создавать и протестировать программное обеспечение для спутников, используя Python как основной язык программирования.

➡️4. Открытые проекты и сообщество

Одним из главных преимуществ Python является его открытость и наличие большого количества библиотек и инструментов, которые могут быть использованы в космической индустрии. Например, проект Astropy предоставляет множество инструментов для работы с астрономическими данными, а библиотека SciPy используется для научных вычислений и анализа данных.

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

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2
✈️Модуль calendar в Python предоставляет функционал для работы с календарем и датами. С его помощью вы можете получить информацию о календаре для любого месяца и года, форматировать даты, определять дни недели и многое другое.

➡️Основные функции и классы модуля calendar:

— calendar.dayname**: Список названий дней недели на английском языке.

— **calendar.month
name: Список названий месяцев на английском языке.

— calendar.monthcalendar(year, month): Возвращает список списков, представляющих календарь для указанного месяца в указанном году. Каждый список представляет неделю, а недели с пустыми значениями в начале и/или конце месяца содержат значения 0.

💡Модуль calendar очень полезен для работы с датами и календарем в Python, и он позволяет легко получать информацию о днях недели, месяцах, годах и других календарных данных.

— calendar.weekday(year, month, day): Возвращает день недели для указанной даты (0 - понедельник, 6 - воскресенье).

— calendar.isleap(year): Проверяет, является ли указанный год високосным.

—. calendar.TextCalendar: Класс, который предоставляет методы для вывода календаря текстом.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥43
✈️Модуль doctest — это легкий фреймворк для тестирования, который позволяет автоматизировать тестирование кода, используя его документацию. Модуль ищет в документации примеры кода, которые можно выполнить, и проверяет, соответствуют ли результаты ожидаемым.

➡️Как использовать doctest?

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

Чтобы запустить тесты doctest, вы можете использовать функцию doctest.testmod(). Если тесты пройдут успешно, ничего не будет напечатано. Если тесты потерпят неудачу, будет напечатано сообщение об ошибке, указывающее на причину неудачи.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍2
✈️Если вы работаете с веб-контентом, анализируете новости или просто хотите автоматизировать сбор информации из интернета, библиотека Newspaper3k станет для вас настоящим спасением. Это мощный инструмент, который позволяет легко парсить статьи, извлекать текст, ключевые слова, метаданные и даже изображения с новостных сайтов.

➡️Что такое Newspaper3k?

Newspaper3k — это Python-библиотека для анализа и обработки новостного контента. Она была создана для упрощения работы с новостными сайтами и позволяет:

— Извлекать чистый текст статей.
— Определять ключевые слова и теги.
— Скачивать изображения из статей.
— Получать автора, дату публикации и другие метаданные.
— Работать с несколькими языками (включая русский).
— Автоматически генерировать краткие описания статей (summary).


💡Библиотека активно используется в проектах, связанных с машинным обучением, анализом данных и автоматическим сбором информации.

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

Давайте посмотрим на базовый пример, как использовать Newspaper3k для парсинга новостной статьи:
from newspaper import Article

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

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

# Скачивание и парсинг статьи
article.download()
article.parse()

# Вывод основных данных
print("Автор:", article.authors)
print("Дата публикации:", article.publish_date)
print("Текст статьи:\n", article.text)
print("Изображения:", article.top_image)

# Генерация краткого описания
article.nlp() # Анализ текста
print("Ключевые слова:", article.keywords)
print("Краткое описание:", article.summary)


➡️Основные функции Newspaper3k

1. Извлечение текста
Библиотека автоматически удаляет HTML-теги и广告, чтобы предоставить вам только чистый текст статьи.

2. Метаданные
Newspaper3k может извлекать такие данные, как автор, дата публикации, заголовок и URL.

3. Ключевые слова и теги
Используя метод nlp(), вы можете получить список ключевых слов и тегов, которые характеризуют содержание статьи.

4. Создание краткого описания
Метод summary автоматически генерирует краткое описание статьи, что особенно полезно для создания новостных агрегаторов.

5. Поддержка множества языков
Newspaper3k поддерживает различные языки, включая русский, английский, испанский и многие другие.

6. Работа с изображениями
Библиотека может скачивать главные изображения из статьи, что удобно для создания превью.

🔎Продвинутые возможности

➡️Парсинг нескольких статей одновременно

Если вам нужно собрать информацию с нескольких статей, можно использовать класс newspaper.build():
from newspaper import build

# URL сайта
url = "https://example.com"

# Создание объекта для парсинга всего сайта
paper = build(url, memoize_articles=False)

# Перебор всех статей
for article in paper.articles:
print(article.url)


➡️Настройка параметров

Вы можете настроить библиотеку под свои нужды. Например, ограничить количество скачиваемых статей или задать таймаут:
paper = build(url, memoize_articles=False, request_timeout=10, number_threads=5)


➡️Почему стоит выбрать Newspaper3k?

1. Простота использования
Библиотека имеет понятный API и требует минимум усилий для начала работы.

2. Высокая производительность
Newspaper3k оптимизирован для быстрого парсинга больших объемов данных.

3. Гибкость
Возможность работать с различными источниками и языками делает её универсальным инструментом.

4. Активное сообщество
Проект поддерживается большим сообществом разработчиков, поэтому регулярно обновляется и исправляются ошибки.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥1🤓1🗿1
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣20👍6👏3🔥2👌1
7
Что выдаст код выше
Anonymous Quiz
13%
Error
10%
False False
69%
True False
5%
True True
2%
False True
👍7🤓42🤨1
🤔Разбор

Исходя из названия функции понимаем, что она определяет, является ли число палиндромом. (Слава направо и наоборот читается одинаково).

Она, по сути, принимает какую-то строку, а возвращает результат сравнения этой строки с ее перевернутой версией. Переворот осуществляется при помощи среза [::-1].

Ну а далее, мы в принте делаем два вызова этой функции. Первый возвращает True, а второй - False.


🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🔥3🤔1
✈️Библиотека yt-dlp в Python — это мощный инструмент для загрузки видео и аудио с различных платформ, таких как YouTube, Vimeo и многих других. yt-dlp является форком популярной библиотеки youtube-dl и предлагает дополнительные функции, исправления и улучшения.

➡️Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.

➡️Пример кода, который загружает видео с YouTube:
import yt_dlp

# Опции для загрузки
ydl_opts = {
'format': 'bestvideo+bestaudio', # Выбор лучшего качества видео и аудио
'outtmpl': 'downloads/%(title)s.%(ext)s', # Путь сохранения
}

url = 'https://www.youtube.com/watch?v=VIDEO_ID' # Замените VIDEO_ID на ID нужного видео

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])

⬆️Таким образом, yt-dlp — это удобный инструмент для работы с загрузкой медиафайлов в Python.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115👍4
✈️Декораторы — это функции, которые позволяют изменять или расширять поведение других функций без изменения их исходного кода. Это мощный инструмент, который помогает писать более чистый и повторно используемый код.

➡️Пример базового декоратора, который измеряет время выполнения функции:
import time

# Определяем декоратор
def timer_decorator(func):
def wrapper():
start_time = time.time() # Засекаем время начала
func() # Вызываем оригинальную функцию
end_time = time.time() # Засекаем время окончания
print(f"Функция {func.__name__} выполнилась за {end_time - start_time:.4f} секунд")
return wrapper

# Применяем декоратор к функции
@timer_decorator
def my_function():
time.sleep(2) # Имитируем долгую операцию
print("Функция завершила работу")

# Вызываем функцию
my_function()

⬆️Результат:
Функция завершила работу
Функция my_function выполнилась за 2.0012 секунд


➡️Практическое применение
— Логирование действий пользователя.
— Проверка авторизации перед выполнением функции.
— Кэширование результатов функции для ускорения работы.

➡️Почему декораторы полезны?
— Чистота кода : Вы можете добавить общую логику (например, логирование, проверку прав доступа) без изменения основной функции.
— Повторное использование : Однажды написанный декоратор можно применять к разным функциям.
— Сокращение дублирования : Если одна и та же логика нужна в нескольких местах, декоратор поможет избежать копипасты.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥2
✈️CSV (Comma-Separated Values) — это формат хранения табличных данных, где каждая строка представляет одну запись, а значения внутри строки разделены запятыми. Это простой и универсальный формат, который используется во многих приложениях.

Python предоставляет удобные инструменты для работы с CSV-файлами через стандартную библиотеку csv.

➡️Пример чтения CSV-файла:

💬Допустим, у нас есть файл data.csv со следующим содержимым:
name,age,city
Alice,30,New York
Bob,25,Los Angeles
Charlie,35,Chicago


💬Вот как мы можем прочитать этот файл:
import csv

# Открываем файл для чтения
with open('data.csv', mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file) # Создаем читатель с заголовками

for row in reader:
print(f"Имя: {row['name']}, Возраст: {row['age']}, Город: {row['city']}")


💬Что в результате нам даст:
Имя: Alice, Возраст: 30, Город: New York
Имя: Bob, Возраст: 25, Город: Los Angeles
Имя: Charlie, Возраст: 35, Город: Chicago


➡️Пример записи в CSV-файл

💬Теперь давайте создадим новый CSV-файл:
import csv

# Данные для записи
data = [
{'name': 'David', 'age': 28, 'city': 'Houston'},
{'name': 'Eva', 'age': 22, 'city': 'San Francisco'}
]

# Открываем файл для записи
with open('new_data.csv', mode='w', encoding='utf-8', newline='') as file:
fieldnames = ['name', 'age', 'city'] # Заголовки столбцов
writer = csv.DictWriter(file, fieldnames=fieldnames)

writer.writeheader() # Пишем заголовки
writer.writerows(data) # Пишем данные


⬆️После выполнения этого кода будет создан файл new_data.csv со следующим содержимым:
name,age,city
David,28,Houston
Eva,22,San Francisco


🔎Как это работает?
— Чтение CSV : Мы используем csv.DictReader, который преобразует строки файла в словари, где ключи — это заголовки столбцов.

— Запись CSV : Мы используем csv.DictWriter, который позволяет легко записывать данные в файл с указанием заголовков.

➡️Практическое применение:

— Импорт/экспорт данных из базы данных.
— Анализ логов сервера.
— Обработка результатов опросов или анкет.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥3
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26🤣5👍4
✈️Что такое регулярные выражения?

Регулярные выражения (или regex) — это язык для описания шаблонов текста. С их помощью можно выполнять сложные операции поиска, проверки и замены строк. В Python регулярные выражения реализованы через модуль re.


➡️Пример поиска с использованием regex
Допустим, у нас есть текст, и мы хотим найти все электронные адреса:
import re

# Исходный текст
text = """
Контакты:
email1@example.com
email2@example.org
Телефон: +7-900-123-45-67
"""

# Шаблон для поиска email-адресов
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

# Находим все совпадения
emails = re.findall(pattern, text)

print("Найденные email-адреса:", emails)


⬆️Что выдаст нам:
Найденные email-адреса: ['email1@example.com', 'email2@example.org']


➡️Пример замены текста
Теперь давайте заменим все цифры в тексте на символ *:
# Исходный текст
text = "Цена товара: 123 рубля, количество: 5 штук"

# Шаблон для поиска цифр
pattern = r'\d+'

# Заменяем все цифры на '*'
result = re.sub(pattern, '*', text)

print("Измененный текст:", result)

⬆️Результат кода:
Измененный текст: Цена товара: * рубля, количество: * штук


➡️Практическое применение:
— Проверка корректности email-адресов или телефонных номеров.
— Анализ логов сервера для извлечения важной информации.
— Обработка текстовых документов для очистки данных.

💡И в заключение:
Регулярные выражения — это мощный инструмент для работы с текстовыми данными. Хотя они могут показаться сложными на первый взгляд, практика поможет вам освоить их быстро.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1043🔥1
✈️API (Application Programming Interface) — это интерфейс, который позволяет программам взаимодействовать друг с другом. С помощью API вы можете получать данные из различных сервисов, таких как погода, курсы валют, социальные сети и многое другое.

Python предоставляет удобные инструменты для работы с API через библиотеку
requests.

➡️Допустим, мы хотим получить текущую погоду для города с помощью бесплатного сервиса OpenWeatherMap:
import requests

# Ваш API-ключ (нужно зарегистрироваться на сайте OpenWeatherMap)
API_KEY = 'your_api_key_here'

# URL для запроса погоды
url = f"http://api.openweathermap.org/data/2.5/weather?q=London&appid={API_KEY}&units=metric"

# Отправляем GET-запрос
response = requests.get(url)

# Проверяем статус ответа
if response.status_code == 200:
data = response.json() # Преобразуем ответ в JSON
temperature = data['main']['temp']
description = data['weather'][0]['description']

print(f"Текущая температура в Лондоне: {temperature}°C")
print(f"Описание: {description}")
else:
print("Ошибка при получении данных:", response.status_code)


⬆️Результат:
Текущая температура в Лондоне: 15°C
Описание: cloudy


➡️Почему работа с API полезна?

— Интеграция с внешними сервисами : Вы можете получать актуальные данные из интернета (погода, новости, курсы валют).
— Автоматизация : Автоматизируйте рутинные задачи, такие как проверка почты или мониторинг сайтов.
— Создание приложений : Используйте API для создания сложных приложений, которые взаимодействуют с различными сервисами.


💡Работа с API открывает огромные возможности для взаимодействия с внешними сервисами. Начните с простых примеров, таких как получение погоды, и постепенно переходите к более сложным задачам.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥3
✈️PyQt6 — это популярная библиотека для разработки кроссплатформенных приложений с графическим интерфейсом (GUI) на языке Python. Она основана на Qt, одной из самых мощных фреймворков для разработки GUI, и предоставляет простой и удобный API для работы с виджетами, сигналами и слотами.

➡️Давайте создадим простое окно с кнопкой "Приветствие":
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QLabel


class MainWindow(QMainWindow):
def __init__(self):
super().__init__()

# Настройка главного окна
self.setWindowTitle("Приветствие PyQt6")
self.setGeometry(100, 100, 300, 200)

# Создаем виджеты
self.label = QLabel("Нажмите кнопку!", self)
self.button = QPushButton("Приветствовать", self)

# Подключаем сигнал к слоту
self.button.clicked.connect(self.on_button_click)

# Размещаем виджеты в макете
layout = QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.button)

container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)

def on_button_click(self):
"""Обработчик нажатия кнопки"""
self.label.setText("Привет, PyQt6!")


# Запуск приложения
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())

⬆️При запуске программы откроется окно с надписью "Нажмите кнопку!" и кнопкой "Приветствовать". При нажатии на кнопку текст изменится на "Привет, PyQt6!".

➡️Почему PyQt6 полезен?

— Кроссплатформенность: Приложения на PyQt6 работают на Windows, macOS и Linux без изменения кода.

Богатый набор виджетов: От простых кнопок до сложных элементов, таких как таблицы, графики и диалоговые окна.

Профессиональный внешний вид: Интерфейсы, созданные с помощью PyQt6, выглядят современно и элегантно.

Гибкость: Вы можете создавать как простые, так и сложные приложения с использованием различных возможностей библиотеки.

💡Заключение

PyQt6 — это мощный инструмент для создания графических приложений в Python. Его можно легко изучить, начиная с простых примеров, таких как создание окон и кнопок, и постепенно переходить к более сложным проектам.

🐍 Pythoner
Please open Telegram to view this post
VIEW IN TELEGRAM
👍157🔥3
✈️SQLite — это легковесная система управления базами данных, которая не требует установки сервера и идеально подходит для небольших приложений. В Python работа с SQLite осуществляется через стандартную библиотеку sqlite3.

➡️Пример создания базы данных и работы с таблицами:
import sqlite3

# Подключаемся к базе данных (или создаем новую)
conn = sqlite3.connect('library.db')
cursor = conn.cursor()

# Создаем таблицу "books"
cursor.execute('''
CREATE TABLE IF NOT EXISTS books (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
author TEXT NOT NULL,
year INTEGER
)
''')

# Добавляем книгу в таблицу
def add_book(title, author, year):
cursor.execute('INSERT INTO books (title, author, year) VALUES (?, ?, ?)', (title, author, year))
conn.commit()
print(f"Книга '{title}' добавлена.")

# Получаем все книги из таблицы
def get_all_books():
cursor.execute('SELECT * FROM books')
rows = cursor.fetchall()
for row in rows:
print(row)

# Удаляем книгу по ID
def delete_book(book_id):
cursor.execute('DELETE FROM books WHERE id = ?', (book_id,))
conn.commit()
print(f"Книга с ID {book_id} удалена.")

# Добавляем несколько книг
add_book("Война и мир", "Лев Толстой", 1869)
add_book("Преступление и наказание", "Фёдор Достоевский", 1866)

# Выводим все книги
print("Список всех книг:")
get_all_books()

# Удаляем одну книгу
delete_book(1)

# Выводим обновленный список книг
print("\nОбновленный список книг:")
get_all_books()

# Закрываем соединение
conn.close()


⬆️Результат:
Книга 'Война и мир' добавлена.
Книга 'Преступление и наказание' добавлена.
Список всех книг:
(1, 'Война и мир', 'Лев Толстой', 1869)
(2, 'Преступление и наказание', 'Фёдор Достоевский', 1866)
Книга с ID 1 удалена.

Обновленный список книг:
(2, 'Преступление и наказание', 'Фёдор Достоевский', 1866)


🔎Как это работает?

Подключение к базе данных: Мы используем sqlite3.connect() для создания или открытия существующей базы данных.

Создание таблиц: SQL-команда CREATE TABLE используется для определения структуры данных.

Добавление данных: Метод execute() выполняет SQL-запросы, а commit() сохраняет изменения.

Чтение данных: Команда SELECT позволяет получить данные из таблицы.

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