Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Декоратор property

В Python декораторы используются, в основном, для декорирования функций (или, соответственно, методов). Одним из самых распространённых декораторов является декоратор property.

На фотографии, в последней строке кода, мы можем обратиться к члену area экземпляра класса Rectangle как к атрибуту. То есть — нам не нужно вызывать метод area. Вместо этого при обращении к area как к атрибуту (то есть — без использования скобок, ()), соответствующий метод вызывается неявным образом. Это возможно благодаря декоратору property.
Декоратор retry

Предположим, имеется функция, которую мы хотим запустить повторно в том случае, если при её первом запуске произойдёт сбой. То есть — нам нужна функция (декоратор, имя которого, retry, можно перевести как «повтор»), которая вызывает нашу функцию один или два раза (это зависит от того, возникнет ли ошибка при первом вызове функции).

Наш декоратор носит имя retry. Он принимает в виде аргумента (func) любую функцию. Внутри декоратора определяется новая функция (_wrapper), после чего осуществляется возврат этой функции.
Декоратор staticmethod

Ещё один широко известный декоратор — это staticmethod. Он используется в ситуациях, когда надо вызвать функцию, объявленную в классе, не создавая при этом экземпляр данного класса.
Oбъединение двух свёрток в одну в pytorch

В данной статье автор разбирается с устройством свёрток на примере объединения двух свёрток в одну в pytorch. Он покажет, как можно смержить две свертки пайторча в одну. Так же потычит непосредственно в веса моделей на примере объединения свёрток. Узнает, как они хранятся и используются конкретно в pytorch, не вдаваясь в хардкорные интересности по типу im2col.

👉 Ссылка на статью
Что выведет код?
Anonymous Quiz
37%
False
34%
True
11%
None
18%
Error
#1
Модуль abc

Python поставляется с модулем под названием abc, который предоставляет полезные вещи для абстрактного класса. Абстрактный класс можно определить с помощью класса abc.АBC, а абстрактный метод определить с помощью abc.abstractmethod. ABC - это аббревиатура, сокращение от слов абстрактный базовый класс.

⚫️Класс не является настоящим абстрактным, если он имеет абстрактные методы, но не наследуется от abc.АBC, это означает, что он может быть создан(как показано на примере).
Что выведет код?
Anonymous Quiz
41%
True
32%
False
13%
False 5
3%
True 5
11%
Error
Визуализируем данные из xml в виде социальной сети

В данной статье автор рассказывает как визуализировать данные из xml в виде социальной сети. Разберет практическую задачу с экспортированными данными в XML и визуализацией этих данных.

👉 Ссылка на статью
Что выведет код?
Anonymous Quiz
55%
False
25%
True
9%
None
11%
Error
#2
Декоратор abstractmethod

Декоратор abstractmethod может использоваться для объявления абстрактных методов свойств и дескрипторов требует, чтобы метакласс класса был ABCMeta или производным от него. Абстрактный класс не может быть создан, пока не будут переопределены все его абстрактные методы и свойства.

⚫️Абстрактный метод в Python не обязательно должен быть "полностью абстрактным", что отличается от некоторых других языков программирования. Можно определить некоторые общие вещи в абстрактном методе и использовать функцию super() для вызова его в подклассах.