👍3
🔔Продолжаем писать Discord bot'a. На этот раз делаем кнопки!
📹 Разобрались, как сделать и обработать кнопки 📹
🔥 Смотрите, оценивайте, используйте 🔥
❗️Какие темы стоит разобрать и уделить им отдельное видео?
https://www.youtube.com/watch?v=-ywDvtGLkzQ
📹 Разобрались, как сделать и обработать кнопки 📹
🔥 Смотрите, оценивайте, используйте 🔥
❗️Какие темы стоит разобрать и уделить им отдельное видео?
https://www.youtube.com/watch?v=-ywDvtGLkzQ
YouTube
Как создать PYTHON ДИСКОРД БОТА с КНОПКАМИ | DISCORD PY
В этом видео мы добавим в наш дискорд бот кнопки, обработаем нажатия на них.
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Создаем бота:
https://www.youtube.com/watch?v=uXl_Pi2tB2o
Полезные…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Создаем бота:
https://www.youtube.com/watch?v=uXl_Pi2tB2o
Полезные…
👍3
Python Hub - сборище Питонистов
🔔Продолжаем писать Discord bot'a. На этот раз делаем кнопки! 📹 Разобрались, как сделать и обработать кнопки 📹 🔥 Смотрите, оценивайте, используйте 🔥 ❗️Какие темы стоит разобрать и уделить им отдельное видео? https://www.youtube.com/watch?v=-ywDvtGLkzQ
Дополнение к видео. ( код и стили кнопок)
class MyView(discord.ui.View):
@discord.ui.button(label="Button 1", row=0, style=discord.ButtonStyle.primary)
async def first_button_callback(self, button, interaction):
await interaction.response.send_message("You pressed me!")
@discord.ui.button(label="Button 2", row=1, style=discord.ButtonStyle.primary)
async def second_button_callback(self, button, interaction):
await interaction.response.send_message("You pressed me!")👍6🔥2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
В некоторых строках в конце присутствует ; . Это не ошибка, в Python можно ставить этот символ в конце строки, как, например, в си-подобных языках. Однако принято, что разработчики не ставят.
В переменную c мы записываем результат сравнения a ==b —> False, т.к. 3 == 5 —> False
Таким образом в принте нам просто выдаст False.
В переменную c мы записываем результат сравнения a ==b —> False, т.к. 3 == 5 —> False
Таким образом в принте нам просто выдаст False.
👍3
🗺 OSMPythonTools - что это?
OSMPythonTools - это набор инструментов на языке Python, предназначенный для работы с данными OpenStreetMap (OSM). OSM - это коллективный проект, который создает и поддерживает свободную географическую базу данных мира, доступную для использования и редактирования всеми пользователями. OSMPythonTools предоставляет различные функции и методы, которые позволяют получать, анализировать и взаимодействовать с данными OSM, что делает его мощным инструментом для работы с географической информацией.
🔻Основные возможности OSMPythonTools
OSMPythonTools предлагает широкий спектр возможностей для работы с данными OSM. Он позволяет загружать данные OSM по определенным координатам или по названию места, а также осуществлять поиск объектов OSM по различным критериям. Кроме того, он предоставляет функции для получения информации о местоположении пользователей OSM и их активности.
Один из ключевых компонентов OSMPythonTools - это класс OSMQueryBuilder, который позволяет создавать сложные запросы к данным OSM с помощью простого и понятного синтаксиса. Это упрощает процесс поиска и фильтрации данных OSM, что является важным аспектом для многих проектов, связанных с географической информацией.
—сайт—
===================
—документация(github)—
OSMPythonTools - это набор инструментов на языке Python, предназначенный для работы с данными OpenStreetMap (OSM). OSM - это коллективный проект, который создает и поддерживает свободную географическую базу данных мира, доступную для использования и редактирования всеми пользователями. OSMPythonTools предоставляет различные функции и методы, которые позволяют получать, анализировать и взаимодействовать с данными OSM, что делает его мощным инструментом для работы с географической информацией.
🔻Основные возможности OSMPythonTools
OSMPythonTools предлагает широкий спектр возможностей для работы с данными OSM. Он позволяет загружать данные OSM по определенным координатам или по названию места, а также осуществлять поиск объектов OSM по различным критериям. Кроме того, он предоставляет функции для получения информации о местоположении пользователей OSM и их активности.
Один из ключевых компонентов OSMPythonTools - это класс OSMQueryBuilder, который позволяет создавать сложные запросы к данным OSM с помощью простого и понятного синтаксиса. Это упрощает процесс поиска и фильтрации данных OSM, что является важным аспектом для многих проектов, связанных с географической информацией.
—сайт—
===================
—документация(github)—
GitHub
GitHub - mocnik-science/osm-python-tools: A library to access OpenStreetMap related services
A library to access OpenStreetMap related services - mocnik-science/osm-python-tools
👍4
Что выдаст код выше?
Anonymous Quiz
23%
data info
8%
names job age
33%
names job age info
17%
data names job age info
10%
Error
8%
Не знаю
👍2🔥1
❗️ Как работает **kwargs в Python?
🔻 Что такое **kwargs?
В Python, **kwargs - это параметр, который позволяет передавать произвольное количество именованных аргументов в функцию. **kwargs расшифровывается как "ключ-значение аргументы" и представляет собой словарь, где ключами являются имена аргументов, а значениями - их значения.
🔻 Как использовать **kwargs?
Для использования **kwargs в функции, мы должны определить его после всех других параметров функции. Например:
В этом примере мы создали функцию
🔻 Что такое **kwargs?
В Python, **kwargs - это параметр, который позволяет передавать произвольное количество именованных аргументов в функцию. **kwargs расшифровывается как "ключ-значение аргументы" и представляет собой словарь, где ключами являются имена аргументов, а значениями - их значения.
🔻 Как использовать **kwargs?
Для использования **kwargs в функции, мы должны определить его после всех других параметров функции. Например:
def print_kwargs(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_kwargs(name="John", age=25, city="New York")
В этом примере мы создали функцию
print_kwargs, которая принимает произвольное количество именованных аргументов. Затем мы используем цикл for для перебора всех элементов словаря kwargs и выводим их на экран. При вызове функции print_kwargs с аргументами name="John", age=25 и city="New York", она выведет следующий результат:name: John
age: 25
city: New York
👍3
Python Hub - сборище Питонистов
❗️ Как работает **kwargs в Python? 🔻 Что такое **kwargs? В Python, **kwargs - это параметр, который позволяет передавать произвольное количество именованных аргументов в функцию. **kwargs расшифровывается как "ключ-значение аргументы" и представляет собой…
То есть мы просто получим словарь в самой функции. Где ключами будут параметры, которые указали при передаче, а значениями - их значения.
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
Исходя из поста выше про **kwargs следует:
Переменная kwargs будет словарем с двумя парами —> data : вся инфа из всего словаря data и info: info.
Перебирая циклом, мы пробежимся по ключам —> data и info. Это и будет ответом.
Переменная kwargs будет словарем с двумя парами —> data : вся инфа из всего словаря data и info: info.
Перебирая циклом, мы пробежимся по ключам —> data и info. Это и будет ответом.
👍2
❗️ Сравнение *args и **kwargs. Когда что использовать?
Когда вы работаете с функциями в Python, вы можете столкнуться с двумя специальными параметрами: *args и **kwargs. Оба эти параметра позволяют передавать переменное количество аргументов в функцию.
🔻 *args: передача произвольного числа аргументов
Параметр *args позволяет передавать произвольное количество позиционных аргументов в функцию. Когда вы используете *args, все переданные аргументы будут собраны в кортеж. Вы можете использовать этот кортеж внутри функции для обработки переданных значений.
Одним из примеров использования *args может быть функция, которая суммирует все переданные числа. Предположим, у нас есть функция
🔻 **kwargs: передача произвольного числа именованных аргументов
Параметр **kwargs позволяет передавать произвольное количество именованных аргументов в функцию. В отличие от *args, аргументы передаются в виде пар ключ-значение, и они собираются в словарь. Вы можете использовать этот словарь внутри функции для доступа к переданным значениям.
Одним из примеров использования **kwargs может быть функция, которая выводит информацию о переданных пользователях. Предположим, у нас есть функция
🔻 Когда что использовать?
- *args следует использовать, когда вы хотите передать произвольное количество позиционных аргументов в функцию и работать с ними как с кортежем. Например, это может быть полезно, когда вам необходимо суммировать числа или склеить строки.
- **kwargs следует использовать, когда вы хотите передать произвольное количество именованных аргументов в функцию и работать с ними как с словарем. Это может быть полезно, когда вам необходимо обрабатывать различные параметры или настройки.
Когда вы работаете с функциями в Python, вы можете столкнуться с двумя специальными параметрами: *args и **kwargs. Оба эти параметра позволяют передавать переменное количество аргументов в функцию.
🔻 *args: передача произвольного числа аргументов
Параметр *args позволяет передавать произвольное количество позиционных аргументов в функцию. Когда вы используете *args, все переданные аргументы будут собраны в кортеж. Вы можете использовать этот кортеж внутри функции для обработки переданных значений.
Одним из примеров использования *args может быть функция, которая суммирует все переданные числа. Предположим, у нас есть функция
sum_numbers, принимающая произвольное количество аргументов. Мы можем вызвать эту функцию с разным количеством чисел и получить их сумму.def sum_numbers(*args):
total = 0
for num in args:
total += num
return total
print(sum_numbers(1, 2, 3)) # Output: 6
print(sum_numbers(10, 20, 30, 40)) # Output: 100
🔻 **kwargs: передача произвольного числа именованных аргументов
Параметр **kwargs позволяет передавать произвольное количество именованных аргументов в функцию. В отличие от *args, аргументы передаются в виде пар ключ-значение, и они собираются в словарь. Вы можете использовать этот словарь внутри функции для доступа к переданным значениям.
Одним из примеров использования **kwargs может быть функция, которая выводит информацию о переданных пользователях. Предположим, у нас есть функция
print_users, которая принимает именованные аргументы в виде пары ключ-значение, где ключ - это имя пользователя, а значение - его возраст. Мы можем вызвать эту функцию с разными пользователями и получить информацию о них.def print_users(**kwargs):
for name, age in kwargs.items():
print(f"User {name} is {age} years old")
print_users(john=25, alice=30, bob=35)
# Output:
# User john is 25 years old
# User alice is 30 years old
# User bob is 35 years old
🔻 Когда что использовать?
- *args следует использовать, когда вы хотите передать произвольное количество позиционных аргументов в функцию и работать с ними как с кортежем. Например, это может быть полезно, когда вам необходимо суммировать числа или склеить строки.
- **kwargs следует использовать, когда вы хотите передать произвольное количество именованных аргументов в функцию и работать с ними как с словарем. Это может быть полезно, когда вам необходимо обрабатывать различные параметры или настройки.
👍3
Что выдаст код выше?
Anonymous Quiz
6%
((1, 2, 3),)
10%
((((1, 2, 3),),),)
21%
(((1, 2, 3),),)
26%
(1, 2, 3)
13%
1, 2, 3
11%
Error
13%
Не знаю ¯\_(ツ)_/¯
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
*args всегда принимает все параметры в кортеж. Даже если там был 1 параметр - будет кортеж с 1 значением внутри. сначала получим (1, 2, 3).
На следующем вызове уже ((1, 2, 3), ). Кортеж залетел, как параметр кортежа.
Далее (((1, 2, 3), ), ). Еще раз та же самая операция.
На следующем вызове уже ((1, 2, 3), ). Кортеж залетел, как параметр кортежа.
Далее (((1, 2, 3), ), ). Еще раз та же самая операция.
👍2
🔔Написать простого бота aiogram 3.x и выложить его на бесплатный хостинг?
📹 Показал, как актуально это можно сделать! 📹
🔥 Смотрите, оценивайте, пользуйтесь💓 🔥
❗️Полезны видосы с Aiogram 3 и бесплатными хостами?
https://www.youtube.com/watch?v=mYlM4RWTHnk
📹 Показал, как актуально это можно сделать! 📹
🔥 Смотрите, оценивайте, пользуйтесь💓 🔥
❗️Полезны видосы с Aiogram 3 и бесплатными хостами?
https://www.youtube.com/watch?v=mYlM4RWTHnk
YouTube
Создаем TELEGRAM БОТА на PYTHON AIOGRAM 3.x и заливаем на БЕСПЛАТНЫЙ ХОСТИНГ | Pythonanywhere
В этом видео я покажу, как создать телеграм бота на библиотеке аиограм версии 3, языке программирования пайтон и залить его на абсолютно бесплатный хостинг pythonanywhere всего за 5 минут!
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001…
👍2🔥1
❗️ Библиотека aiohttp в Python
Библиотека aiohttp основана на пакете asyncio, который вводит понятие корутин и сопрограмм в Python. Она предоставляет простой и эффективный способ создания асинхронных HTTP-клиентов и серверов. С помощью aiohttp вы можете отправлять асинхронные HTTP-запросы, обрабатывать ответы и работать с веб-сокетами.
Одним из ключевых преимуществ библиотеки aiohttp является ее высокая производительность. Благодаря асинхронной архитектуре, aiohttp позволяет обрабатывать большое количество одновременных запросов без блокировки потоков выполнения. Это делает ее отличным выбором для создания высоконагруженных веб-приложений, которым требуется быстрый и эффективный обмен данными с удаленными серверами.
🔻 Использование aiohttp-socks
Aiohttp-socks - это дополнение к aiohttp, библиотеке для асинхронной работы с протоколом HTTP в Python. Она позволяет делать асинхронные HTTP-запросы через SOCKS-прокси, что может быть полезно, например, при парсинге веб-страниц или при работе с API веб-сервисов. Библиотека поддерживает различные версии протокола SOCKS, включая SOCKS4, SOCKS4a и SOCKS5.
Команда установки:
https://pypi.org/project/aiohttp-socks/
Библиотека aiohttp основана на пакете asyncio, который вводит понятие корутин и сопрограмм в Python. Она предоставляет простой и эффективный способ создания асинхронных HTTP-клиентов и серверов. С помощью aiohttp вы можете отправлять асинхронные HTTP-запросы, обрабатывать ответы и работать с веб-сокетами.
Одним из ключевых преимуществ библиотеки aiohttp является ее высокая производительность. Благодаря асинхронной архитектуре, aiohttp позволяет обрабатывать большое количество одновременных запросов без блокировки потоков выполнения. Это делает ее отличным выбором для создания высоконагруженных веб-приложений, которым требуется быстрый и эффективный обмен данными с удаленными серверами.
🔻 Использование aiohttp-socks
Aiohttp-socks - это дополнение к aiohttp, библиотеке для асинхронной работы с протоколом HTTP в Python. Она позволяет делать асинхронные HTTP-запросы через SOCKS-прокси, что может быть полезно, например, при парсинге веб-страниц или при работе с API веб-сервисов. Библиотека поддерживает различные версии протокола SOCKS, включая SOCKS4, SOCKS4a и SOCKS5.
Команда установки:
pip install aiohttp-socksСсылка на либу:
https://pypi.org/project/aiohttp-socks/
PyPI
aiohttp-socks
Proxy connector for aiohttp
👍5
Что выдаст код выше?
Anonymous Quiz
63%
meow
5%
NotImplementedError
7%
None
9%
<function a at 0x7fca32ee3d90>
11%
meow None
5%
meow <function a at 0x7fca32ee3d90>
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
1. У нас есть класс Animal, который служит абстракцией и определяет метод voice.
2. Класс Cat наследует от Animal и переопределяет метод voice, выводя "meow".
3. Мы создаем объект cat как экземпляр класса Cat.
4. Вызываем cat.voice() и выводим результат с print().
Но помним что cat.voice() только выводит результат принтом и не возвращает ничего с помощью return
5. Результат: создание cat, вызов cat.voice() выводит "meow", но тк мы пытаемся вывести результат, который возвращается из функции, а там нет явного return то получаем None.
Итак, код выведет "meow None".
2. Класс Cat наследует от Animal и переопределяет метод voice, выводя "meow".
3. Мы создаем объект cat как экземпляр класса Cat.
4. Вызываем cat.voice() и выводим результат с print().
Но помним что cat.voice() только выводит результат принтом и не возвращает ничего с помощью return
5. Результат: создание cat, вызов cat.voice() выводит "meow", но тк мы пытаемся вывести результат, который возвращается из функции, а там нет явного return то получаем None.
Итак, код выведет "meow None".
👍5