secrets в Python: Защита вашей информацииsecrets предоставляет инструменты для создания безопасных случайных данных, сложнее предсказать.secrets:1.
secrets.choice(sequence): Выбирает случайный элемент из последовательности. Полезно для генерации случайных выборок или паролей из определенного набора символов.2.
secrets.randbelow(n): Возвращает случайное число от 0 до n-1. Используется для генерации случайных чисел в определенном диапазоне.3.
secrets.randbits(k): Генерирует k случайных битов. Полезно для создания случайных битовых строк или чисел.4.
secrets.token_bytes(nbytes=None): Генерирует безопасную случайную последовательность байтов длиной nbytes (по умолчанию - 32 байта).5.
secrets.token_hex(nbytes=None): Генерирует безопасную случайную строку в шестнадцатеричном формате длиной nbytes (по умолчанию - 32 байта).6.
secrets.token_urlsafe(nbytes=None): Генерирует безопасную случайную URL-совместимую строку длиной nbytes (по умолчанию - 32 байта).7.
secrets.compare_digest(a, b): Сравнивает две строки для предотвращения временных атак. Это полезно при сравнении хэшей паролей или токенов без утечки информации о длине сравниваемых строк.secrets лучше?-
secrets предоставляет криптографически безопасные данные, что делает их сложными для предсказания.- Эти функции обеспечивают высокий уровень безопасности при генерации случайных данных, паролей и токенов в Python.
Используйте модуль
secrets для защиты вашей информации и обеспечения безопасности ваших данных в Python. Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Если формат зайдет, то продолжим в том же духе!
https://www.youtube.com/watch?v=w3FlW2THtUk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Рекурсия в Python | Как работает рекурсивная функция
В этом видео мы разберем, что такое рекурсия. Разберем, как работает рекурсия. Делать мы это будем на примере языка программирования Python.
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.m…
👨💻 Подписывайся на наш телеграм канал! 👨💻
🖇 https://t.me/pythonhub001 🖇
👨💻 И вступай в чат 👨💻
🖇 https://t.m…
👍6
🤟 Суббота - время отдыхать и решать задачки на Codewars или leetcode? 🤟
💻 В этот раз задачи решаю на кодварс — закрываю год на любимом алгоритмическом сайте!
https://youtu.be/6y19_r6XxvE
https://youtu.be/6y19_r6XxvE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python предоставляет нам множество возможностей для работы с данными. Одной из таких возможностей является использование списков для хранения объектов. Сейчас мы рассмотрим, как создать класс, создать объекты на основе этого класса, поместить эти объекты в список и обратиться к ним.
Для начала, давайте создадим класс, который будет представлять людей. Класс будет иметь атрибуты "имя" и "возраст". Вот пример такого класса:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
Теперь, когда у нас есть класс, мы можем создать объекты на его основе. Например, давайте создадим двух людей:
person1 = Person("John", 25)
person2 = Person("Alice", 30)
Чтобы поместить объекты в список, мы можем использовать метод
append(). Например, чтобы создать список людей и добавить туда наших двух людей, мы можем написать следующий код:people = []
people.append(person1)
people.append(person2)
Теперь у нас есть список
people, в котором хранятся объекты, представляющие двух людей.Чтобы обратиться к объектам в списке, мы можем использовать индексы. Например, чтобы получить имя первого человека в списке
people, мы можем написать следующий код:first_person_name = people[0].name
Теперь в переменной
first_person_name будет храниться значение "John".Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
С наступающим 2024 годом!
От имени всей команды сообщества Shcoder, мы желаем вам бесконечного цикла успеха и счастья, чтобы ваш код всегда был чистым, а переменные — всегда именованными с любовью! 💻❤️
Пусть новый год принесет вам меньше багов, больше интересных проектов и нового опыта! 🎁🐞
Пусть ваши проекты будут масштабируемыми, а итерации — всегда успешными! 🔄🚀
Пусть у вас всегда будет актуальная и понятная документация! 📚🤝
С наступающим вас, Шкодеры! Пусть 2024 год будет полон новых версий ваших идей! 🥳🔍
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻5👍3🥰1🤯1
Кэширование результатов функций в Python 🐍
💬 Что такое кеширование?
Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции.
❓ Как это сделать?
В Python есть модуль
🥸 Зачем это нужно?
Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами.
Пример:
💻 Теперь вы знаете, как использовать кеширование в Python для улучшения производительности кода.
Оставайтесь с нами для еще больше интересной информации о Python!😉
Кеширование позволяет сохранять результаты выполнения функций, избегая повторных вычислений. Это полезно, особенно если функция часто вызывается с одними и теми же данными или выполняет сложные операции.
В Python есть модуль
functools, включающий декоратор lru_cache, который автоматически кеширует результаты функции.Кеширование ускоряет программу, сохраняя результаты вычислений функций. Это особенно полезно при работе с большими данными или сложными расчетами.
Пример:
from functools import lru_cache
@lru_cache(maxsize=20) # 20 - это максимальное количество "запоминаний"
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10)) # Первый вызов - вычисляем
print(fibonacci(10)) # Результат уже закеширован
Оставайтесь с нами для еще больше интересной информации о Python!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Один из самых простых способов округления числа в Python - использовать встроенную функцию round(). Функция round() округляет число до ближайшего целого значения. Например, если у нас есть число 3.7, функция round() округлит его до 4, а если у нас есть число 3.4, оно будет округлено до 3. Важно отметить, что если дробная часть числа равна 0.5, функция round() округлит число в сторону ближайшего четного значения. Например, число 2.5 будет округлено до 2, а число 3.5 будет округлено до 4.
num1 = 3.7
num2 = 3.4
rounded_num1 = round(num1)
rounded_num2 = round(num2)
print(rounded_num1) # Output: 4
print(rounded_num2) # Output: 3
Кроме функции round(), в Python также доступны методы floor() и ceil(). Метод floor() округляет число до наибольшего целого значения, которое меньше или равно данному числу. Например, если у нас есть число 4.8, метод floor() округлит его до 4. С другой стороны, метод ceil() округляет число до наименьшего целого значения, которое больше или равно данному числу. Например, если у нас есть число 2.2, метод ceil() округлит его до 3.
import math
num = 4.8
floored_num = math.floor(num)
ceiled_num = math.ceil(num)
print(floored_num) # Output: 4
print(ceiled_num) # Output: 5
Еще один способ округления чисел в Python - использование модуля math. Модуль math предоставляет различные функции для работы с числами, включая функции округления. Например, функция math.floor() эквивалентна методу floor(), а функция math.ceil() эквивалентна методу ceil(). Кроме того, модуль math также предоставляет функции округления вниз и вверх до ближайшего целого значения, а также функцию для округления до определенного количества знаков после запятой.
import math
num = 3.7
floored_num = math.floor(num)
ceiled_num = math.ceil(num)
print(floored_num) # Output: 3
print(ceiled_num) # Output: 4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨💻
'2' + '2' —> '22' текстовый формат.
При умножении текста на число, текст дублируется столько раз, чему равно число.
В нашем случае '22' * 3 —> '222222'
Если было бы, например 'hello' * 3 —> 'hellohellohello'
'2' + '2' —> '22' текстовый формат.
При умножении текста на число, текст дублируется столько раз, чему равно число.
В нашем случае '22' * 3 —> '222222'
Если было бы, например 'hello' * 3 —> 'hellohellohello'
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Умер создатель языка программирования Pascal Николаус Вирт
Ему было 89 лет.
По данным iTWire, Вирт умер в своём доме в окружении родных 1 января 2024 года.
Почитать подробнее можно тут
Кто из вас писал на паскале?🖥
Ему было 89 лет.
По данным iTWire, Вирт умер в своём доме в окружении родных 1 января 2024 года.
Почитать подробнее можно тут
Кто из вас писал на паскале?
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻6
Есть тут еще олдовые любители Tk GUI?
(показываю варианты реализации paint приложения, ссылаясь на авторов. Все исходники в описании)
https://www.youtube.com/watch?v=YtTAdFCWsHc
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Tkinter Paint на Python | Несколько версий
Выражаю благодарность автором этих кодов, которыми я воспользовался. Мы рассмотрим, как создать аналог приложения paint на языке пайтон, используя библиотеку tkinter.
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻…
👍2
Были бы интересны видео, где пилим большой проект? Или лучше маленькие проекты на 10-15 минут?
Anonymous Poll
14%
Лучше маленькие короткие проекты и короткие видео
48%
Видео с большими проектами, разбитые на несколько коротких роликов
32%
Длинные видео про большие проекты от начала и до конца
7%
Свой вариант/воздержусь
👍4
https://www.youtube.com/watch?v=R3DGJ-iO12k
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Решаем Python задачи на Codewars | Легкий уровень
В этом видео мы порешаем задачи на сайте кодварс, научимся некоторым алгоритмам, поразбираем чужие решения.
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Полезные ссылки:
Сайт кодварс:…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Полезные ссылки:
Сайт кодварс:…
👍7
Решил проверить, какие вообще самые популярные (по каким-то критериям, хз сам каким) библиотеки на PyPi
PyPI (Python Package Index) — это официальный репозиторий пакетов для языка программирования Python. Здесь собраны тысячи библиотек, модулей и приложений, которые могут быть полезны для разработчиков Python.
https://pypistats.org/top
https://hugovk.github.io/top-pypi-packages/
Вот два ресурса. Мне понравился больше первый.
Для ленивых предлагаю скрин!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Python Hub | Django | Tkinter
Проголосуйте за канал, чтобы он получил больше возможностей.
😁3👍2
⚡️ Привет, уважаемые подписчики 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
Python documentation
asyncio — Asynchronous I/O
Hello World!: asyncio is a library to write concurrent code using the async/await syntax. asyncio is used as a foundation for multiple Python asynchronous frameworks that provide high-performance n...
👍4
DDoS-атака (Distributed Denial of Service) - это атака, направленная на перегрузку ресурсов сервера или сети путем отправки большого количества запросов с целью обрушить его работу. Возникает вопрос, можно ли провести подобную атаку с помощью Python. Ответ - да, это технически возможно. Однако, важно отметить, что DDoS-атака является противозаконной и незаконным использование таких методов может повлечь за собой серьезные юридические последствия.
Python является мощным языком программирования, который позволяет автоматизировать множество задач, включая отправку запросов к веб-сайтам. Однако, использование Python для нагрузочного тестирования, то есть для проверки производительности сайта под высокой нагрузкой, не означает, что вы сможете сразу "положить" сайт. Нагрузочное тестирование проводится с целью определить, как сайт будет работать при реальных условиях использования, и в большинстве случаев не представляет угрозу для его доступности.
У веб-сайтов существуют механизмы защиты от DDoS-атак, которые позволяют обнаруживать и отражать подобные попытки. Это может быть использование специальных сервисов, фильтрация трафика или анализ поведения пользователей. Поэтому, даже если вы попытаетесь "положить" сайт с помощью Python, шансы на успех будут невелики.
Пробовали ли вы когда-нибудь что-нибудь положить?
Я помню, как когда-то давно пытался положить какой-то html'ный заброшенный сайт при помощи команды ping
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰1😁1
А какой клавиатурой пользуетесь вы в разработке ботов?
https://www.youtube.com/watch?v=JuXi7xMDKug
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Inline Keyboard AIOgram 3 | PYTHON TELEGRAM BOT | КЛАВИАТУРА
Сегодня мы посмотрим, как создать инлайн клавиатуру (Inline Keyboard) в Aiogram 3.x.
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Полезные ссылки:
Aiogram echo bot:
https://docs.aio…
Подписывайся на наш телеграм канал! 👨💻
https://t.me/pythonhub001
И вступай в чат 👨💻
https://t.me/pythonhub_chat
Полезные ссылки:
Aiogram echo bot:
https://docs.aio…
👍4