Python | Notes
5.56K subscribers
1.56K photos
2 videos
1.59K links
Заявки принимаются моментально!

⚡️Лучшие шпаргалки по Python!

Поделиться с другом - https://t.me/+ugLTJcF7eFllMDky

Менеджеры: @sorivmavb @ootrimoo @mirapoller
Download Telegram
Модуль dis

Вы когда-нибудь задумывались, что Python делает под капотом? Со стандартным модулем библиотеки dis вы можете легко посмотреть. Эта библиотека позволяет декомпилировать байт-код Python и изучить его.

Python | Notes
👍11❤‍🔥2
KD-деревья — это структура данных, оптимизированная для запросов ближайших соседей. Например, в наборе точек можно эффективно узнать, какие точки являются ближайшими к определенной заданной точке.

Метод KDTree() возвращает объект KDTree. Метод query() возвращает расстояние до ближайшего соседа и местоположение соседей.

Python | Notes
👍10
issuperset

Метод issuperset() возвращает True, если множество содержит все элементы другого множества (передается как аргумент). Если нет, возвращается False. Также можно использовать оператор >=, однако он требует множеств по обе стороны. Метод issuperset может принимать любой объект.

Python | Notes
11
В Python есть библиотека с именем UUID (универсальный уникальный идентификатор) для генерации случайного объекта длиной 128 бит. Эта библиотека генерирует уникальные идентификаторы на основе системного времени и сетевого адреса компьютера.

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

Python | Notes
👍20
Функция getsizeof()

Модуль sys стандартной библиотеки предоставляет функцию getsizeof(). Эта функция принимает объект (объект может быть любого типа), вызывает метод sizeof() и возвращает размер объекта в байтах, поэтому вы также можете сделать ваши объекты инспектируемыми.

Сегодня эту функцию испытаем на числах.

Python | Notes
👍9
The Interface Segregation Principle

Принцип разделения интерфейсов. Создавайте узкоспециализированные интерфейсы и не вынуждайте клиента зависеть от неиспользуемых интерфейсов. Допустим есть класс Auto с методами комплектаций для всех автомобилей. Если мы наследуемся от интерфейса, то все методы реализованные в нем должны быть описаны в классе-потомке. В результате чего классы могут получить ненужные методы. Для решения этой проблемы мы разделяем интерфейсы.

Python | Notes
👍62
Размещайте метод __init__ в самом начале

Хотя для большинства из нас это правило очевидно, но встречаются программисты, которые “прячут” __init__ глубоко в теле класса с другими атрибутами. Располагать же его следует в самом начале класса до упоминания всех остальных методов, поскольку именно там его будут искать при чтении.

При наличии атрибутов класса метод __init__ размещается после них. Во избежание путаницы этого принципа следует последовательно придерживаться при определении всех классов проекта.

Python | Notes
👍12🥰1


Метод math.fsum() возвращает сумму всех элементов в любой итерации. Итерацией может быть кортеж, массив, список. Если итерируемый объект не является числом, он возвращает TypeError. Этот метод возвращает сумму всех значений в виде значения с плавающей запятой.

Python | Notes
👍15
Метод seekable() используется для проверки того, доступен ли файл для поиска.

Он возвращает true, когда файл доступен для поиска, иначе возвращает false. Файл доступен для поиска, если он разрешает доступ к файловому потоку.

Python | Notes
👍11🔥1

Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.

Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач.

Каждая функция-валидатор возвращает True при успешной проверке и ValidationFailure при неудачной проверке.

Помимо этого, validators позволяет также работать с ipv4, ipv6, uuid, iban и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.

Python | Notes
👍14🏆2