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
🟢 Что такое Pydantic?


Pydantic - это библиотека Python, которая предоставляет инструменты для проверки данных и сериализации (преобразования объектов Python в JSON-подобную структуру данных). Pydantic также предоставляет возможность создавать собственные классы с валидацией и автоматической сериализацией данных.

➡️ Валидация данных с Pydantic

Одной из основных функций Pydantic является проверка данных. Pydantic позволяет определить структуру данных в Python-классе и автоматически проверять, соответствует ли входной объект этой структуре. Например, мы можем создать класс "Person" со свойствами "name" и "age", а затем использовать этот класс для проверки данных о человеке, которые мы получаем из внешнего источника.

python
from pydantic import BaseModel

class Person(BaseModel):
name: str
age: int

person_data = {"name": "Alice", "age": 25}
person = Person(**person_data)


В этом примере мы создали экземпляр класса "Person" из словаря "person_data". Pydantic автоматически проверяет, что ключи "name" и "age" существуют в словаре и что "name" имеет тип "str", а "age" - тип "int".

➡️ Сериализация данных с Pydantic

Еще одна полезная функция Pydantic - это сериализация данных. При сериализации объект Python преобразуется в JSON-подобную структуру данных, которая может быть передана по сети или сохранена в файл. Pydantic позволяет автоматически сериализовать объекты Python, определенные в классах Pydantic.

python
class Person(BaseModel):
name: str
age: int

person = Person(name="Alice", age=25)
person_json = person.json()


В этом примере мы создали экземпляр класса "Person", а затем сериализовали его в формат JSON с помощью метода "json()". Результатом будет строка JSON с полями "name" и "age", соответствующими свойствам объекта "person".

➡️ Создание своих классов Pydantic

Pydantic также позволяет создавать собственные классы с валидацией и автоматической сериализацией данных. Для создания такого класса необходимо унаследоваться от базового класса Pydantic "BaseModel" и определить свойства класса с аннотациями типов данных.

python
class User(BaseModel):
username: str
password: str
email: str
age: Optional[int] = None


В этом примере мы создали класс "User" со свойствами "username", "password", "email" и "age". Свойство "age" определено как необязательное с помощью "Optional[int]". Если значение "age" не указано при создании экземпляра класса, то оно будет равно "None".
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что выдаст код выше?
Anonymous Quiz
11%
3
49%
6
7%
5
2%
4
28%
Error
4%
Не знаю
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Затянулся этот разбор, но ничего! Лето все же!
У нас есть два описания функции sum. Одна принимает в себя 3 параметра, другая 2. В пайтоне сработает переопределение функции —> та функция, что стоит ближе к вызову, сработает. В данном случае будет попытка вызвать функцию с 2-мя параметрами, а передать в нее 3 аргумента.
Получим ошибку, как итог.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🔥 Что такое Flask? (кратко)


Flask - это микрофреймворк веб-приложений для языка программирования Python.

Преимущества Flask

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

💼 Использование Flask

Для использования Flask необходимо установить его с помощью менеджера пакетов Python, такого как pip. После установки можно начать создавать веб-приложения с помощью Flask. Пример простого приложения Flask:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
return 'Hello, World!'

if __name__ == '__main__':
app.run()


Этот код создает веб-приложение, которое отображает сообщение "Hello, World!" при обращении к корневому URL-адресу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
А вы что предпочитаете и используете? Flask vs Django (можно выбрать несколько вариантов)
Anonymous Poll
19%
Люблю Flask
22%
Люблю Django
19%
Использую Django
22%
Использую Flask
16%
Использую что-то другое
34%
Не занимаюсь вебом
28%
Error
👍2
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

У нас есть список, в котором лежат функции. Ссылки, так скажем, на них.
Когда мы в цикле вызываем функции, пока бежим по списку, вызовы происходят внутри принта. Сами функции выдадут нам буквы a и b, однако т.к. вызовы в принте —> получим еще то, что функции возвращают. Явных return'ов у них нет. Т.об. они возвращают None.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🔔Любителям парсинга приготовиться!

📹 Пишем парсер статистики любого ютуб канала 📹
🔥 Смотрите, оценивайте, используйте 🔥

❗️Можете кидать предложения по идеям, что можно спарсить в комменты тут или под видео!

https://www.youtube.com/watch?v=GZuBhCLZLWY
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Генератором создаем список, начиная с 0, заканчивая 10, пробегаясь с шагом 2 —> [0, 2, 4 .... 8]
Далее циклом проделываем то же самое, только немного по другой логике. Перебираем все числа, проверяем их на четность - нужные заносим.

В if сравниваем элементы по индексу двух одинаковых списков —> сработает , вывод: One
elif и else можно НЕ смотреть, т.к. уже сработал if.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🧐 Что такое encoding в Python?


Python поддерживает множество кодировок, которые могут использоваться для представления текста. Некоторые из наиболее распространенных кодировок, поддерживаемых Python, включают UTF-8, ASCII и Latin-1. UTF-8 является наиболее распространенной кодировкой и используется в большинстве веб-приложений.

➡️ Как работает encoding в Python

Python использует объекты типа str для хранения строковых значений. Когда вы создаете строку в Python, она сохраняется в памяти в виде последовательности символов Unicode. Однако, когда необходимо сохранить строку в файл или передать ее по сети, она должна быть преобразована в байты, и для этого используется определенная кодировка. Это происходит с помощью метода encode.

Пример:🙃

text = 'Пример текста'
encoded_text = text.encode('utf-8')


В этом примере мы создаем строку text, содержащую русские символы, и затем преобразуем ее в байты, используя кодировку UTF-8. Результатом будет объект типа bytes, содержащий закодированные данные.

Обратное преобразование из байтов в строку осуществляется с помощью метода decode:

decoded_text = encoded_text.decode('utf-8')
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Python Hub - сборище Питонистов
Photo
Разбор 👨‍💻

Создаем пустой список.
Далее в него добавляем объекты-генераторы. Там лежат остатки от деления чисел от 0 до 4 (включая) на 1 —> все будут нули.
(вижу, что многие ответили [0,1,2,3,4,5], но логичнее было бы [0,1,2,3,4])

В принте обращаемся к элементу по индексу 1 в списке a —> получаем генератор, который переводим в list список. Выделяем элемент по индексу 4 —> 0.
Ответ: 0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💻 Что такое Copilot?


Copilot
- это инструмент искусственного интеллекта, разработанный GitHub и OpenAI. Он использует глубокое обучение и нейронные сети для создания кода на основе контекста.

Когда вы начинаете вводить код в свой редактор, Copilot предлагает вам варианты завершения кода на основе контекста. Он может предложить вам функции, классы, методы и другие элементы кода, которые могут соответствовать вашим потребностям. Инструмент также может помочь вам проверить синтаксическую правильность кода и даже создать целый класс или функцию.

ссылка* (https://github.com/features/copilot)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6