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
👩‍💻 Популярная библиотека Boto и Botocore на PyPi


1️⃣ Boto3 помогает разработчикам упростить работу с AWS. Она предоставляет простой и понятный способ взаимодействия с различными сервисами AWS, такими как создание и настройка виртуальных серверов, управление файловым хранилищем, отправка сообщений и многое другое. Это позволяет автоматизировать различные задачи и сделать работу с AWS более эффективной.


2️⃣ Botocore представляет собой набор инструментов и клиентских библиотек для работы с Amazon Web Services (AWS). Она обеспечивает низкоуровневый доступ к различным сервисам AWS, таким как Amazon S3, Amazon EC2 и многим другим. Botocore позволяет разработчикам создавать, управлять и автоматизировать ресурсы в облаке AWS с помощью простого и интуитивно понятного API.

👆 Библиотека botocore также является ключевым компонентом PyPI - крупнейшего репозитория пакетов Python. PyPI предоставляет доступ к миллионам пакетов, которые можно установить и использовать в своих проектах. Botocore позволяет разработчикам использовать пакеты, связанные с AWS, и управлять ими с помощью простого и удобного интерфейса.

https://aws.amazon.com/ru/sdk-for-python/
https://pypi.org/project/boto3/
https://pypi.org/project/botocore/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍💻 Асинхронное программирование в Python: Шаг в будущее

⚡️ Привет, уважаемые подписчики Python-канала! Сегодня мы вместе поговорим о важном аспекте программирования - асинхронном программировании в Python. Этот подход становится все более популярным, так как обеспечивает эффективную обработку множества задач одновременно. Давайте рассмотрим основы этой техники и как она может изменить ваш подход к написанию кода.

🔄 Что такое асинхронное программирование?
Асинхронное программирование - это способ написания кода, позволяющий выполнять несколько задач одновременно без блокировки основного потока выполнения. В Python для этого используются ключевые слова async и await, которые делают функции асинхронными и определяют точки, где происходит ожидание.

💡 Преимущества асинхронного программирования:
1. Увеличение производительности: Асинхронный код позволяет эффективно использовать ресурсы, ускоряя выполнение задач.
2. Масштабируемость: Обработка множества задач одновременно без блокировки позволяет создавать масштабируемые приложения.
3. Улучшен отклик приложения: Пользователи получают быстрый отклик, даже если выполняются длительные операции.

🔍 Основные концепции асинхронного программирования в Python:
- `async def` и `await`: Обозначают асинхронные функции и точки ожидания выполнения задачи.
- Цикл событий (Event Loop): Основной механизм управления выполнением асинхронных задач.
- Корутины (Coroutines): Асинхронные функции, которые могут приостанавливать свое выполнение.

🚀 Пример асинхронного кода:
import asyncio

async def async_example():
print("Начало выполнения")
await asyncio.sleep(2)
print("Завершение выполнения")

async def main():
tasks = [async_example() for _ in range(5)]
await asyncio.gather(*tasks)

if __name__ == "__main__":
asyncio.run(main())


⚙️ Интеграция асинхронного кода:
Множество библиотек и фреймворков в Python уже поддерживают асинхронное программирование, включая aiohttp, asyncio, и многие другие. Это позволяет создавать высокопроизводительные веб-приложения, работающие с асинхронными запросами.

📚 Дополнительные ресурсы:
- [Документация Python по асинхронному программированию](https://docs.python.org/3/library/asyncio.html)
- [Статья на Real Python: "Async IO in Python: A Complete Walkthrough"](https://realpython.com/async-io-python/)

🔗 Заключение:
Асинхронное программирование в Python открывает перед вами новые горизонты возможностей. Надеемся, что данная статья помогла вам понять основы этой техники и вдохновила на ее использование в ваших проектах. Делитесь своим опытом в комментариях, и продолжайте изучение Python вместе с нами! 🚀🐍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🐈 Можно ли положить сайт, делая к нему запросы через Python?


🤙 Разбор темы 1: Определение DDoS-атаки

DDoS-атака (Distributed Denial of Service) - это атака, направленная на перегрузку ресурсов сервера или сети путем отправки большого количества запросов с целью обрушить его работу. Возникает вопрос, можно ли провести подобную атаку с помощью Python. Ответ - да, это технически возможно. Однако, важно отметить, что DDoS-атака является противозаконной и незаконным использование таких методов может повлечь за собой серьезные юридические последствия.

🤙 Разбор темы 2: Python и нагрузочное тестирование

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

🤙 Разбор темы 3: Защита от DDoS-атак

У веб-сайтов существуют механизмы защиты от DDoS-атак, которые позволяют обнаруживать и отражать подобные попытки. Это может быть использование специальных сервисов, фильтрация трафика или анализ поведения пользователей. Поэтому, даже если вы попытаетесь "положить" сайт с помощью Python, шансы на успех будут невелики.

Пробовали ли вы когда-нибудь что-нибудь положить?

Я помню, как когда-то давно пытался положить какой-то html'ный заброшенный сайт при помощи команды ping 🏓
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰1😁1
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

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

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

Ну а далее, мы в принте делаем два вызова этой функции. Первый возвращает True, а второй - False.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💬 Форматирование %s в Python 💬


▶️ Использование оператора %s для форматирования строк

Оператор %s используется для вставки значения переменной в строку. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует переменная, значения которой нужно вставить.

Пример:

name = "John"
age = 25
print("Меня зовут %s и мне %s лет." % (name, age))


Вывод:

Меня зовут John и мне 25 лет.


В этом примере мы использовали оператор %s для вставки значений переменных name и age в строку. Мы передали эти значения в виде кортежа (name, age) после знака %.

▶️ Форматирование чисел с помощью оператора %s

Оператор %s также может использоваться для форматирования чисел. Для этого нужно указать %s внутри строки и затем после строки поставить знак %, за которым следует число, значение которого нужно вставить.

Пример:

number = 42
print("Ответ на главный вопрос жизни: %s" % number)


Вывод:

Ответ на главный вопрос жизни: 42


В этом примере мы использовали оператор %s для вставки значения переменной number в строку.

А применяете ли вы такое форматирование? Может используете какое-то другое?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Метод .pop удаляет из списка элемент по индексу, если индекс был передан. У нас индекса передано не было —> он удалит последний элемент (как по умолчанию).

НО! Мы принтуем НЕ список, а результат удаления. Прикол в том, что .pop помимо удаления, еще и возвращает удаленный элемент. То есть в принте будет выведен элемент, который мы удалили —> 'C++'

p.s. когда-то уже была такая задача, люди, давно подписанные, обладающие хорошей памятью, уже не ведутся на такие уловки))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁2
📛 Как работает функция index в Python? [ i N d E x ? ]


Функция index в Python используется для нахождения индекса первого вхождения определенного элемента в последовательности..

😐 Работа функции index

Функция index принимает в качестве аргумента элемент, который мы хотим найти, и возвращает индекс первого вхождения этого элемента в списке. Если элемент не найден, функция вызывает исключение ValueError. Например, если у нас есть список чисел [1, 2, 3, 4, 5] и мы хотим найти индекс числа 3, мы можем использовать функцию index следующим образом:

numbers = [1, 2, 3, 4, 5]
index = numbers.index(3)
print(index)


В этом примере функция index вернет значение 2, так как число 3 находится на позиции с индексом 2 в списке.

😐 Обработка исключений

Когда мы используем функцию index, мы должны быть осторожны, потому что если элемент не найден в списке, это вызовет исключение ValueError. Чтобы избежать ошибок, мы можем использовать конструкцию try-except для обработки исключений. Например:

numbers = [1, 2, 3, 4, 5]
try:
index = numbers.index(6)
print(index)
except ValueError:
print("Элемент не найден в списке.")


В этом примере, если элемент 6 не найден в списке numbers, функция index вызовет исключение ValueError, и вместо того, чтобы прервать выполнение программы, мы перехватываем исключение и выводим сообщение "Элемент не найден в списке."

А в каких структурах данных еще можно использовать .index?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
💬 Решил дать возможность увидеть видео про хостинг на Replit для дискорд разработчиков!

📹 Кому полезно - велком! 📹

🤘 Если вы пользуетесь хостингом на данном сервисе, то дайте фидбек в комментах. 🤘

p.s. Не важно, хостите тг бота или дискорд или сайт, интересно, сколько у вас держится сервер

https://www.youtube.com/watch?v=TvN_UHcP1pc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Где вы решаете задачи? (возможен мультивыбор)
Anonymous Poll
30%
Codewars
23%
Leetcode
15%
Другой сервис
43%
Не решаю задачи
👍3
🔄 Метод .count в Python


🔄 Использование метода .count()

Метод .count() в Python используется для подсчета количества вхождений определенного элемента в строке, списке или кортеже. Синтаксис метода выглядит следующим образом:

<obj>.count(<value>)


где <obj> - объект, в котором мы ищем, а <value> - значение, которое мы хотим посчитать.

🔄 Примеры использования метода .count()

Давайте рассмотрим несколько примеров использования метода .count().

Подсчет количества символов в строке:

s = "Hello, World!"
count = s.count("o")
print(count) # Output: 2


Подсчет количества элементов в списке:

numbers = [1, 2, 3, 4, 2, 1, 2]
count = numbers.count(2)
print(count) # Output: 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🧩 Создание PDF-файлов с помощью Python 🐍

☕️ PDF-файлы являются одним из наиболее удобных форматов для обмена документами. В Python существует несколько библиотек, позволяющих создавать и редактировать PDF-файлы. Одна из самых популярных библиотек для этой цели - PyPDF2.🛠 Чтобы начать работу с PyPDF2, необходимо установить эту библиотеку с помощью pip:
pip install PyPDF2


📚 Документация PyPDF2 доступна здесь, где вы можете найти подробные примеры и инструкции по использованию.

🚀 Теперь, давайте создадим простой PDF-файл с текстом "Пример создания PDF в Python":
import PyPDF2

# Создание объекта PDF
pdf = PyPDF2.PdfFileWriter()

# Создание страницы и добавление текста
page = pdf.addPage()
page.mergePage(page)

text = "Пример создания PDF в Python"

# Добавление текста на страницу
page.drawText(100, 500, text)

# Сохранение PDF в файл
with open("example.pdf", "wb") as f:
pdf.write(f)

print("PDF файл успешно создан!")

📚 Это простой пример создания PDF-файла с помощью Python и библиотеки PyPDF2. Однако, существует множество других библиотек, таких как reportlab или FPDF, предоставляющих более широкие возможности для создания и редактирования PDF-документов в Python.

🐍 Поделитесь в комментариях, если у вас есть вопросы или если хотите узнать больше о работе с PDF в Python!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выдаст код выше?
Anonymous Quiz
12%
1 3
50%
2 3
2%
1 2
8%
2 4
5%
3 4
5%
1 4
17%
Error
👍2