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

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

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

https://t.me/pythonhub_chat - чат
Download Telegram
❗️ Шифрование паролей и другой информации в Python


Шифрование позволяет защитить конфиденциальные данные, такие как пароли, от несанкционированного доступа.

🔻Использование модуля hashlib

Один из способов шифрования данных в Python - использование модуля hashlib. Модуль hashlib предоставляет ряд алгоритмов хеширования, таких как SHA-256 и MD5. Хеширование - это процесс преобразования исходных данных в фиксированную длину числового значения, известного как хеш. Хеширование полезно для сохранения паролей и другой информации в безопасной форме, поскольку хеш невозможно обратно преобразовать в оригинальные данные. Вот пример кода, демонстрирующий использование модуля hashlib для шифрования пароля:

import hashlib

password = "mysecretpassword"
hashed_password = hashlib.sha256(password.encode()).hexdigest()

print("Шифрованный пароль:", hashed_password)
👍3🔥1
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Есть список. Ну а дальше циклы в списковых выражениях.
Первое - создание squared_numbers, где мы определяем четные числа и нечетные. Четные возводим в квадрат (x **2) и заносим обратно.

Получаем тут [1, 4, 3, 16, 5]

Ну а дальше просто создаем список filtered_numbers, где числа будут больше 5. То есть у нас это просто число 16.
Помним, что оно будет в списке.

Отсюда и ответ: [16]
👍2
❗️Библиотеки для создания игр на Python


🔻 Pygame

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

🔻 Arcade

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

🔻 Panda3D

Panda3D - библиотека, которая предоставляет возможности для создания как 2D, так и 3D игр на Python. Она имеет мощный набор инструментов и функций, позволяющих разработчикам создавать высококачественные игры.
👍4
🔔Есть любители автотематики? Шашки в жизни или в игре? 🚘🚔

📹 Вторая часть гоночек или же шашек на Pygame. Добавили кнопки рестарта, систему поломок, меню и счет 📹
🔥 Смотрите, оставляйте отзыв в комментариях 🔥

Стоит ли делать продолжение игры дальше, зависит только от вас)

https://youtu.be/2uctvdLEftE
👍4
shcoder.zip
3.4 MB
Zip архив с исходниками игры версии 2.0😊
Может кому-то пригодится
👍5
На какой либе пишете телеграм ботов? (если пишете) [Несколько вариантов можно]
Anonymous Poll
58%
aiogram
40%
telebot
6%
pyrogram
8%
telethon
19%
другое
👍4
Решил сравнить ответы Chat GPT 3.5 и Bard от гугла. 🤖

Какой ИИ ответил лучше
👍4
❗️Разница в SQLAlchemy и Flask-SQLAlchemy

🔻 SQLAlchemy

SQLAlchemy - это библиотека для работы с базами данных в языке Python. Она предоставляет объектно-реляционный маппер (ORM), который позволяет работать с базой данных, используя объекты и методы, а не прямые SQL-запросы. SQLAlchemy предоставляет широкий набор функций и возможностей для работы с различными СУБД, включая создание таблиц, выполнение запросов и управление транзакциями.

🔻 Flask-SQLAlchemy

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

🆚 Различия между SQLAlchemy и Flask-SQLAlchemy

1. Уровень абстракции: Одно из основных различий между SQLAlchemy и Flask-SQLAlchemy заключается в уровне абстракции. SQLAlchemy предоставляет более низкий уровень абстракции и позволяет более гибко управлять базой данных, в то время как Flask-SQLAlchemy предоставляет более высокий уровень абстракции и упрощает взаимодействие с базой данных для проектов на Flask.

2. Интеграция с Flask: Flask-SQLAlchemy предоставляет дополнительную интеграцию с фреймворком Flask. Оно упрощает создание моделей базы данных и поддерживает автоматическую генерацию таблиц на основе этих моделей. SQLAlchemy, с другой стороны, не имеет прямой интеграции с Flask и требует дополнительной настройки для работы в проекте на Flask.

3. Управление соединениями и контекстом сеанса: Flask-SQLAlchemy автоматически управляет соединениями с базой данных и контекстом сеанса, что упрощает работу с базой данных в приложении Flask. SQLAlchemy требует явного управления соединениями и контекстом сеанса.
👍4
❗️ Главные отличия Python2 от Python3


🔻 Поддержка

Одним из крупных отличий Python2 и Python3 является поддержка. Python2 перестал получать активные обновления и исправления ошибок с 2020 года, в то время как Python3 активно разрабатывается и поддерживается сообществом.

🔻 Синтаксис и функциональность

Еще одно важное отличие между Python2 и Python3 - это изменения в синтаксисе и функциональности. В Python3 были внесены некоторые изменения, чтобы сделать язык более последовательным и интуитивно понятным. Некоторые из этих изменений включают:

- Использование функции print() вместо оператора print. В Python2 можно было использовать print без скобок, но в Python3 требуется использование скобок, чтобы вызвать функцию print().
- Python3 включает новые возможности, такие как асинхронное программирование, улучшенная обработка исключений и расширенная поддержка для работы с байтами.

🔻 Библиотеки и совместимость

Третье важное отличие между Python2 и Python3 заключается в библиотеках и совместимости.
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Создаем объект класса Person, куда передаем пустое имя. Просто пустые кавычки. Далее мы выводим это имя - в ответ пустота. Ну а далее через сеттер устанавливаем значение свойству name. У нас там внутри есть проверка на пустоту, однако мы уже передаем имя "Петр Петров". Все проходит успешно, ну и далее мы это имя выводим.
👍2
⁉️ Зачем нужен файл __init__ в папке Python проекта?


🔻Организация модулей

Один из основных назначений файла __init__.py - это сигнализировать Python, что папка является модулем. В этом файле можно определить переменные, функции или классы, которые будут доступны извне. Это позволяет организовать код внутри папки и создавать логические блоки функциональности. Благодаря файлу __init__.py вы можете импортировать модули из папки, используя точечную нотацию, например: "import folder.module".

🔻 Инициализация пакетов

В Python папки с файлами __init__.pyназываются пакетами. Файл __init__.py в пакете выполняет роль инициализации пакета. Это означает, что код в этом файле будет выполнен при импорте пакета. Это может быть полезно, когда вам нужно выполнить какую-то предварительную настройку или импортировать дополнительные модули, необходимые для работы пакета. Такой подход позволяет обеспечить последовательность инициализации и избежать ошибок при использовании пакета.
👍4
❗️ Оператор in в Python


Оператор in в Python используется для проверки вхождения элемента в последовательность. Эта последовательность может быть строкой, списком, кортежем или даже словарем. Синтаксис оператора in выглядит следующим образом: элемент in последовательность. Оператор in возвращает логическое значение True, если элемент присутствует в последовательности, и False, если элемент отсутствует.

Например, давайте рассмотрим следующий пример:

fruits = ['apple', 'banana', 'orange']
if 'apple' in fruits:
print("Я люблю яблоки!")


В этом примере мы создали список фруктов и проверяем, присутствует ли в нем элемент 'apple'. Если элемент 'apple' присутствует, то выводится сообщение "Я люблю яблоки!".

text = "Python is a powerful programming language"
if "Python" in text:
print("Python найден!")


В этом примере мы проверяем, содержит ли строка "Python is a powerful programming language" подстроку "Python". Если подстрока "Python" присутствует, то выводится сообщение "Python найден!".
👍3
💁‍♂️ Задача уровень 6

Ваша задача - отсортировать заданную строку. Каждое слово в строке будет содержать одно число. Это число - позиция, которую должно занимать слово в результате.

Примечание: Цифры могут быть от 1 до 9. Таким образом, 1 будет первым словом (а не 0).

Если входная строка пуста, верните пустую строку. Слова во входной строке будут содержать только допустимые последовательные числа.

Пример 🤯

"is2 Thi1s T4est 3a"  -->  "Thi1s is2 3a T4est"
"4of Fo1r pe6ople g3ood th5e the2" --> "Fo1r the2 g3ood 4of th5e pe6ople"
"" --> ""

link: https://www.codewars.com/kata/55c45be3b2079eccff00010f/python
👍2
🔔Aiogram 3 нужно учить, если пишешь ботов в телеграм!

📹 Разобрались, как работать с фильтрами в Aiogram 3.x 📹
🔥 Смотрите, оценивайте, используйте 🔥

p.s. совсем забыл про отложенный выпуск видео :/
Поддержка и комментарии приветствуются☺️

https://www.youtube.com/watch?v=ZvMIdY0JjJc
👍3
Что выдаст код выше?
Anonymous Quiz
35%
True
43%
False
9%
Error
4%
None
9%
Не знаю
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Приводя к множеству (set) список или кортеж, мы убираем все повторения в структуре данных, а так же автоматически сортируем это множество. Таким образом, нам просто стоит убедиться, что в обоих структурах присутствуют одни и те же элементы. 1 2 3 4 5 6 есть в каждом из, так что равенство после преобразования будет верным —> True
👍3