uk
Feedback
Python Hub - сборище Питонистов

Python Hub - сборище Питонистов

Відкрити в Telegram

Уголок счастья для любого питониста. Сотрудничество или заказы: @leshunist https://shcoder.dev - студия разработки ShcoderDevelopment https://t.me/pythonhub_chat - чат

Показати більше
1 710
Підписники
-324 години
-117 днів
-2230 день
Архів дописів
❗️ Главные отличия Python2 от Python3 🔻 Поддержка Одним из крупных отличий Python2 и Python3 является поддержка. Python2 пер
❗️ Главные отличия Python2 от Python3 🔻 Поддержка Одним из крупных отличий Python2 и Python3 является поддержка. Python2 перестал получать активные обновления и исправления ошибок с 2020 года, в то время как Python3 активно разрабатывается и поддерживается сообществом. 🔻 Синтаксис и функциональность Еще одно важное отличие между Python2 и Python3 - это изменения в синтаксисе и функциональности. В Python3 были внесены некоторые изменения, чтобы сделать язык более последовательным и интуитивно понятным. Некоторые из этих изменений включают: - Использование функции print() вместо оператора print. В Python2 можно было использовать print без скобок, но в Python3 требуется использование скобок, чтобы вызвать функцию print(). - Python3 включает новые возможности, такие как асинхронное программирование, улучшенная обработка исключений и расширенная поддержка для работы с байтами. 🔻 Библиотеки и совместимость Третье важное отличие между Python2 и Python3 заключается в библиотеках и совместимости.

❗️Разница в 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 требует явного управления соединениями и контекстом сеанса.

Решил сравнить ответы Chat GPT 3.5 и Bard от гугла. 🤖 ❓Какой ИИ ответил лучше❓
+1
Решил сравнить ответы Chat GPT 3.5 и Bard от гугла. 🤖 ❓Какой ИИ ответил лучше❓

На какой либе пишете телеграм ботов? (если пишете) [Несколько вариантов можно]
Anonymous voting

Zip архив с исходниками игры версии 2.0😊 Может кому-то пригодится

🔔Есть любители автотематики? Шашки в жизни или в игре? 🚘🚔 📹 Вторая часть гоночек или же шашек на Pygame. Добавили кнопки рестарта, систему поломок, меню и счет 📹 🔥 Смотрите, оставляйте отзыв в комментариях 🔥 Стоит ли делать продолжение игры дальше, зависит только от вас) https://youtu.be/2uctvdLEftE

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

Разбор 👨‍💻 Есть список. Ну а дальше циклы в списковых выражениях. Первое - создание squared_numbers, где мы определяем четные числа и нечетные. Четные возводим в квадрат (x **2) и заносим обратно. Получаем тут [1, 4, 3, 16, 5] Ну а дальше просто создаем список filtered_numbers, где числа будут больше 5. То есть у нас это просто число 16. Помним, что оно будет в списке. Отсюда и ответ: [16]

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

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

print("Шифрованный пароль:", hashed_password)

Что выдаст код выше?
Anonymous voting

❗️Flask WTForms: Что это такое и как использовать? 🔻 Что такое Flask WTForms? Flask WTForms - это расширение для Flask, которое интегрирует популярную библиотеку WTForms в приложения Flask. WTForms - это гибкая библиотека валидации и отображения форм для разработки веб-приложений на языке Python. Она предоставляет простой и интуитивно понятный способ создания HTML-форм и валидации пользовательского ввода. Используя Flask WTForms, вы можете легко определить свои формы в виде классов Python и отображать их в ваших шаблонах Flask. 🔻 Как использовать Flask WTForms Чтобы начать использовать Flask WTForms в вашем приложении Flask, вам сначала необходимо установить его с помощью pip. Вы можете сделать это, запустив следующую команду:
pip install Flask-WTF
После установки Flask WTForms вам нужно импортировать его в ваше приложение Flask. В вашем файле Python добавьте следующую строку:
from flask_wtf import FlaskForm
Теперь вы можете определить свои формы как подклассы FlaskForm. Каждый класс формы будет представлять определенную форму в вашем приложении. Вы можете определить поля в вашей форме, используя различные классы полей, предоставленные Flask WTForms, такие как StringField, IntegerField, BooleanField и другие. После определения формы вы можете отобразить ее в вашем шаблоне Flask, используя объект form. Чтобы обрабатывать отправку формы, вам необходимо определить маршрут в вашем приложении Flask, который будет обрабатывать POST-запросы. В этом маршруте вы можете использовать объект request для доступа к данным формы и валидировать их с помощью функции form.validate_on_submit(). Если данные формы являются допустимыми, вы можете их обработать и выполнить необходимые действия.

Разбор 👨‍💻 Статья о миксинах могла вам помочь при решении задачи. Создаем класс миксин, в котором реализуем метод добавления к передаваемому слову приставки flex. Далее создаем два класса с одинаковым методом output, однако внимательные заметят, один из них возвращает результат текстовый, а второй принтует сразу в консоль. Ну и при инициализации списка, мы создаем в нем объект, для которого сразу вызываем метод output —> один результат выводит и возвращает в список None, а другое просто возвращает текст в список. В консоли будет только flex Python

Что выдаст код выше?
Anonymous voting

❗️Что такое Миксины (Mixin) в Python? Миксины (Mixin) - это одна из мощных возможностей языка Python, которая позволяет нам повторно использовать код и добавлять функциональность к классам. Миксин - это класс, содержащий методы, которые можно добавить в другие классы без необходимости наследования от него. 🔻 Определение Миксины - это классы, которые содержат методы, но не предоставляют конкретной реализации класса. Их целью является предоставление специфической функциональности, которую можно добавить в другие классы. Миксины могут содержать как обычные методы, так и абстрактные методы, которые должны быть реализованы классами, использующими Миксин. Они предоставляют возможность композиции кода и избегают проблем, связанных с наследованием от нескольких классов. 🔻 Преимущества использования Миксинов Использование Миксинов в Python имеет несколько преимуществ. Во-первых, это позволяет повторно использовать код и избегать дублирования. Миксины позволяют нам добавлять функциональность к классам без необходимости менять их иерархию наследования. Во-вторых, Миксины предоставляют возможность гибкой композиции кода. Мы можем добавлять один или несколько Миксинов к классу и получать только нужную функциональность. В-третьих, использование Миксинов улучшает читаемость кода и упрощает его поддержку. Код становится более модульным и понятным, что облегчает его изменение и расширение. 🔻 Пример использования Миксинов Давайте рассмотрим пример использования Миксинов. Предположим, у нас есть класс Person, который представляет человека и имеет метод greet(), который выводит приветствие. Мы хотим добавить в этот класс возможность отправки электронного письма. Мы можем создать Миксин EmailMixin, который содержит метод send_email(), и затем добавить этот Миксин к классу Person. Теперь объекты класса Person будут иметь и метод greet(), и метод send_email(), позволяющий отправлять письма.
class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print(f"Привет, меня зовут {self.name}!")

class EmailMixin:
    def send_email(self, recipient, subject, message):
        print(f"Отправляю электронное письмо на адрес {recipient}:")
        print(f"Тема: {subject}")
        print(f"Сообщение: {message}")

class PersonWithEmail(Person, EmailMixin):
    pass

person = PersonWithEmail("Иван")
person.greet()
person.send_email("example@example.com", "Привет!", "Как дела?")
В данном примере мы создали класс Person и Миксин EmailMixin. Затем мы создали класс PersonWithEmail, который наследуется от Person и добавляет функциональность EmailMixin. Мы создали объект person класса PersonWithEmail и использовали его методы greet() и send_email().

❗️ Что такое сокеты? (кратко) Сокеты являются одним из основных понятий в компьютерных сетях. Они представляют собой программ
❗️ Что такое сокеты? (кратко) Сокеты являются одним из основных понятий в компьютерных сетях. Они представляют собой программный интерфейс, который позволяет приложениям обмениваться данными через сеть. Сокеты - это точка соединения между двумя программами, которые обмениваются данными через сеть. Один сокет может отправлять данные, а другой может принимать их. Сокеты работают на разных уровнях сетевой модели, таких как уровень транспорта (например, TCP или UDP) и уровень сети (например, IPv4 или IPv6). 🔻 Работа с сокетами Для работы с сокетами в приложении необходимо выполнить несколько шагов. Во-первых, нужно создать сокет, указав его тип (например, TCP или UDP) и семейство адресов (например, IPv4 или IPv6). Затем необходимо привязать сокет к определенному порту или адресу. После этого можно начать передачу данных через сокет, используя методы отправки и приема данных.

Когда Словари Превосходят match/case в Python Python 3.10 внедрил новый механизм match/case, о котором мы говорили недавно, для обработки условий, что, безусловно, улучшило читаемость кода и сделало его более явным. Однако существуют ситуации, когда классический подход с использованием словарей превосходит match/case. В этой статье мы рассмотрим, почему иногда словари являются более предпочтительным решением. 📦 Простота и Читаемость Словари, как структуры данных, обладают простотой и лаконичностью. Создание словаря для сопоставления значений с действиями делает ваш код более понятным и легкочитаемым. Вместо написания нескольких case блоков в match/case, можно просто создать словарь, где ключи - это значения, а значения - это действия: codes = { 200: "OK", 404: "Not Found", 500: "Server Error" } И использовать его для обработки значений: code = 404 print(codes.get(code, "Unknown")) Этот код читается легче и проще в поддержке. 🚀 Гибкость и Расширяемость Используя словари, вы можете легко добавлять новые значения и действия без изменения кода в большинстве случаев. Например, если вы хотите добавить обработку кода 403, вы просто добавляете его в словарь: codes[403] = "Forbidden" С match/case вам придется добавлять новый case, что требует изменения кода в нескольких местах. ⚡️ Производительность В некоторых случаях словари могут быть более производительными, особенно когда у вас есть большой набор значений. Python имеет эффективную реализацию хэш-таблиц, которая делает поиск по словарю быстрым даже для больших наборов данных. 🔍 Когда Использовать match/case Несмотря на преимущества словарей, match/case имеет свои сильные стороны, такие как более строгая проверка на сопоставление и поддержка сложных выражений. Используйте match/case, когда вам действительно нужна его функциональность, но помните, что есть альтернативные решения, которые могут быть более простыми и эффективными. 🔗 Заключение Словари предоставляют удивительно гибкий и простой способ обработки условий в Python. Иногда, вместо использования match/case, создание словарей для сопоставления значений с действиями может быть лучшим выбором, обеспечивая легкочитаемый, гибкий и производительный код. Выбор зависит от конкретных требований вашего проекта, но имейте в виду, что в Python есть множество инструментов для достижения одной и той же цели.

Шпаргалка в виде картинки 📝
Шпаргалка в виде картинки 📝

❗️Match/case в Python 3.10: Новый способ обработки условий Python 3.10 представил новый механизм обработки условий, известный как match/case. Этот механизм позволяет более явно и удобно обрабатывать различные варианты значений переменных или выражений. match/case - это способ структурированной обработки значений переменных или выражений. Он предоставляет более читаемый и понятный способ определения различных случаев и действий, которые следует выполнить в зависимости от этих случаев. Пример использования match/case: match color: case "red": print("красный") case "blue": print("синий") case "green": print("зелёный") case _: print("это не красный, синий или зелёный") В этом примере мы с помощью match мы проверяем значение color и, в зависимости от его значения, выполняем соответствующее действие. ✅ Преимущества match/case - Читаемость: match/case делает код более понятным и легко читаемым, особенно при обработке большого количества вариантов. - Безопасность: Этот механизм позволяет избежать ошибок, связанных с неожиданными значениями переменных. - Удобство: Синтаксис match/case является более удобным и гибким в сравнении с традиционными if/elif/else конструкциями. 🔹 Интересные особенности - case поддерживает сопоставление с различными типами данных, включая кортежи, списки и др. - case также может выполнять условия при сопоставлении, что позволяет создавать более сложные проверки. - Возможность использовать case в выражениях, что облегчает создание функционального кода. 🔹 Заключение match/case - это мощный инструмент для обработки условий в Python 3.10 и выше. Он улучшает читаемость кода и делает его более безопасным, предоставляя более явный способ определения различных вариантов обработки данных. Поэтому, при работе с новыми версиями Python, рассмотрите возможность использования match/case для улучшения структуры вашего кода.