Forwarded from Библиотека питониста | Python, Django, Flask
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
Автор статьи показывает лучшие практики написания кода на Python. Он также даёт ссылку на другой детальный разбор ошибок, которые часто делают джуны.
▫️Распознавание изображений для начинающих на наборе данных CIFAR-10 с помощью Numpy, PIL, os, TensorFlow и Taipy.
▫️Распознавание автомобильных номеров для продвинутых
▫️AlphaCodium — инструмент на базе LLM, предназначенный специально для решения задач по программированию.
▫️Langroid – продвинутый фреймворк для создания ИИ-агентов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Зачем нужен wraps?
Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.
Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.
Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.
Хэширование
Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.
Для создания хэш-значений есть удобный модуль hashlib, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.
Напомним, что Хэширование — это преобразование некоторого объема информации в уникальный набор символов, присущий только этому массиву информации. Широко используется в криптографии.
Для создания хэш-значений есть удобный модуль hashlib, содержащий ряд полезных хэш-функций. Использование довольно простое: в модуле имеется ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша.