Python Hub - сборище Питонистов
1.71K subscribers
657 photos
1 video
37 files
276 links
Уголок счастья для любого питониста.

Сотрудничество или заказы: @leshunist

https://shcoder.dev - студия разработки ShcoderDevelopment

https://t.me/pythonhub_chat - чат
Download Telegram
🔢 Имеется кортеж вида 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:]`. При этом одноэлементные кортежи требуют хвостовой запятой, иначе число в скобках это всего лишь число.
👍61
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)
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
👍41
Разбор!

Звёздочка соответствует оператору распаковки последовательности. Два числа присваиваются переменным, а оставшаяся часть последовательности (в данном случае пустой список) присваивается переменной со звёздочкой. Поэтому правильный ответ – 1 [] 2. Подробнее про распаковку тут
1👍1🍌1
Python Hub - сборище Питонистов
Что выведет код выше?
Разбор!

Генерируемые пользователем исключения перехватываются тем же способом, что и исключения, которые генерирует интерпретатор Python. Здесь намеренно инициируется встроенное исключение IndexError. Так как в блоке try было вызвано исключение, блок else выполняться не будет. Поэтому будет выведена только строка 'Получено исключение'.
👍21
📚 Библиотека aiosqlite с примерами на 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. Поделитесь, где искать стажировки. Вдруг я какой-то крутой сервис пропустил 😅

Гоу вместе найдем полезные ресурсы и поддержим друг друга! 🌟
👍52🤯1
Что выдаст код выше?
Anonymous Quiz
43%
True
32%
False
5%
None
10%
Error
11%
Не знаю
👍4
Python Hub - сборище Питонистов
Photo
Разбор 🧐

Весь нюанс в том, что var - список с каким-то содержимым из множества элементов
А var2 - список, который содержит в себе только 1 элемент —> var (как бы ссылаясь на него)
👍31
Библиотека Pyxel 🎮

Pyxel — это библиотека для создания ретро-игр на языке программирования Python. Она идеально подходит для разработчиков, которые хотят погрузиться в мир 8-битных игр, создавая собственные проекты с минимальными усилиями. 🕹

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

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

Встроенные инструменты 🎨🎵

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

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

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


LINK: https://github.com/kitao/pyxel
👍4❤‍🔥1😱1