Python Hub - сборище Питонистов
Відкрити в Telegram
Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат
Показати більше1 713
Підписники
+124 години
-107 днів
-2030 день
Архів дописів
⏺ Встроенные методы классов Python
Будем рассматривать их по порядку в общем формате.
(если нужно более подробно рассказать про какие-то методы, то пишите в предложку или в комментарии)
Начнем с init, str и len
➡️ 1.
__init__
__init__ - это метод класса, который вызывается при создании нового объекта. Он используется для инициализации свойств объекта. Например, предположим, что у нас есть класс Person, который имеет свойства name и age. Мы можем инициализировать эти свойства в методе __init__ следующим образом:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
➡️ 2. __str__
__str__ - это метод класса, который возвращает строковое представление объекта. Этот метод полезен при отладке и при выводе информации об объекте. Например, мы можем использовать метод __str__ для класса Person, чтобы получить строковое представление объекта:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} ({self.age})"
➡️ 3. __len__
__len__ - это метод класса, который возвращает длину объекта. Этот метод полезен для работы с объектами, которые имеют определенную длину, например, списки или строки. Например, мы можем использовать метод __len__ для класса Person, чтобы получить количество символов в имени объекта:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name} ({self.age})"
def __len__(self):
return len(self.name)Разбор 👨💻
if print(1): —> принт выдаст нам 1.
Дальше разбираемся с тем, что возвращает функция print(). Она возвращает нам None, что эквивалентно False.
Получим:
if False: —> не выполняется, значит ничего внутри if не сработает.
Ответ: 1
⏺ Конструкция for else в Python
➡️ Конструкция for else
Конструкция for else - это синтаксическая конструкция, которая позволяет выполнить блок кода else, если цикл for завершился нормально, т.е. без использования оператора break. Это может быть полезно в случаях, когда нужно выполнить некоторые действия после выполнения цикла, но только в том случае, если цикл отработал полностью.
Вот пример, который демонстрирует использование конструкции for else:
numbers = [1, 2, 3, 4, 5]
for number in numbers:
if number == 0:
break
else:
print("All numbers are non-zero")
В этом примере мы используем цикл for для прохода по списку чисел. Если в списке встречается число 0, то цикл завершается оператором break и блок кода else не выполняется. Если же все числа в списке не равны 0, то блок кода else выполнится и на экран будет выведено сообщение "All numbers are non-zero".Разбор 👨💻
if not not not None.
Само по себе if None —> False.
Значит if not None —> True
Значит if not not None —> False
Значит if not not not None —> True
Таким образом видим, что результат первого if будет True —> выведется 1.
Так как дальше у нас связка не с if, а с elif, то остальные проверки даже не будут проверяться.
Ответ: 1
🔥 Отличие асинхронного кода от синхронного в Python
➡️ Синхронный код
Синхронный код - это код, который выполняется последовательно. Это означает, что каждая операция должна быть выполнена до того, как начнется следующая операция. Это может быть очень медленным, особенно когда требуется много времени для выполнения каждой операции. Например, если вы напишете код для загрузки нескольких изображений из Интернета, каждый запрос на загрузку будет выполнен последовательно, что может занять много времени.
➡️ Асинхронный код
Асинхронный код - это код, который может выполнять несколько задач одновременно. В Python асинхронный код реализуется с помощью библиотеки asyncio. Она позволяет использовать асинхронные функции и корутины для написания более эффективного кода. Например, если вы используете асинхронный код для загрузки нескольких изображений из Интернета, каждый запрос на загрузку может выполняться параллельно, что существенно ускорит процесс загрузки.
Разбор 👨💻
Все действия стартуют из самых глубоких скобок.
Разберемся с переменной a
float('11.8') —> 11.8
int(11.8) —> 11 (int НЕ округляет число, а выделяет его целую часть)
Теперь разберемся с переменной b
int(11.8) —> 11 (int НЕ округляет число, а выделяет его целую часть)
float(11) —> 11.0
Ответ: a + b = 11 + 11.0 = 22.0
📢
В этой карте обобщены все базовые библиотеки и концепции python, актуальные на 2023 год.
Источник - Medium.com
Разбор 👨💻
В этой задаче у нас будет ошибка в первой же строке.
Мы не закрыли кавычку, перейдя enter'ом на новую строку.
Помните, что так можно только с 3-ыми кавычками!
"""
Text
"""
🔔 Вам нужно проверять, состоит ли пользователь в телеграмм группе при помощи бота?
📹 Вышел видос на ютубе о написании ТГ бота, который это чекает! 📹
🔥 Смотрите, используйте, комментируйте, спрашивайте! 🔥
▶️ и AIOGRAM и TELEBOT
https://www.youtube.com/watch?v=jselYuMOF5A&t=5s&ab_channel=Shcoder
Разбор 👨💻
Функция any() используется для проверки наличия хотя бы одного True элемента в итерируемом объекте.
У нас есть:
False —> False
0 —> False
[] —> пустой список —> False
() —> пустой кортеж —> False
Все элементы - False, а функция any() требует ХОТЯ БЫ ОДИН True.
Ответ: False
🔥 Как писать ботов на Python? Aiogram поможет!
➡️ Aiogram - асинхронная библиотека для создания ботов на Python
Aiogram - это асинхронная библиотека для создания ботов на языке Python, которая может быть использована для написания Telegram ботов. Она предоставляет простой и интуитивно понятный интерфейс для работы с Telegram API. Aiogram облегчает работу с ботами в Telegram, позволяет создавать интерактивные диалоги, обрабатывать входящие сообщения и многое другое.
✅ Плюсы Aiogram
— Aiogram предоставляет простой и интуитивно понятный интерфейс для работы с Telegram API, что упрощает процесс создания ботов на Python.
— Aiogram является асинхронной библиотекой, что позволяет создавать высокопроизводительные боты.
— С помощью Aiogram вы можете создавать интерактивные диалоги, обрабатывать входящие сообщения, отправлять файлы и многое другое.
❌Минусы Aiogram
— Aiogram имеет более высокий порог входа, чем некоторые другие библиотеки для создания ботов на Python.
— Aiogram требует знания асинхронного программирования для использования в полной мере.
😊 Создание простого Telegram бота на Python с использованием Aiogram
Давайте рассмотрим пример создания простого Telegram бота на Python с использованием Aiogram. Наш бот будет реагировать на команду /start, и отправлять приветственное сообщение.
import logging
from aiogram import Bot, Dispatcher, types
# Устанавливаем уровень логов
logging.basicConfig(level=logging.INFO)
# Создаем объект бота
bot = Bot(token="ТОКЕН_ВАШЕГО_БОТА")
# Создаем объект диспетчера
dp = Dispatcher(bot)
# Обработка команды /start
@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
await message.reply("Привет! Это пример бота Aiogram.")
if __name__ == '__main__':
# Запускаем long-polling
executor.start_polling(dp, skip_updates=True)
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
