Python Skills 🐍
302 subscribers
1.02K photos
17 videos
302 links
Канал полезного и юмористического контента на тему программирования, в частности такого языка как Python.

По всем вопросам: @andrey_andrey01
Download Telegram
Что делают OrderedDict и fromkeys()?

OrderedDict это словарь, который запоминает порядок вставки ключей. Если новое вхождение перезаписывает существующее вхождение, исходная позиция вставки остается неизменной.

fromkeys() создает новый словарь и возвращает список ключей. Ключи для нового словаря берутся из seq, а значения — из value (если заданы). Синтаксис метода fromkeys() — fromkeys(seq[, value]).

Параметры:

seq: Это список значений, которые будут использоваться при подготовке ключей для словаря.
value: Опционально; если задать, значение будет установлено в качестве value.
Используем lambda, sum() и map()

Лямбда-функция в Python — это просто функция Python. Но это некий особенный тип с ограниченными возможностями.

Лямбда-функции вместе с sum() и map() также могут решить конкретно эту задачу подсчета общего числа вхождений определенного элемента в строку. Этот метод использует sum() для суммирования всех вхождений, полученных с помощью map().
Используем collection.Counter ()

Это менее известный метод для получения количества вхождений элемента в любой контейнер в Python. Он также выполняет задачу, аналогичную описанным выше двум методам, просто является функцией другой библиотеки, т.е. collections.

Класс Counter() модуля collections - это подкласс словаря dict для подсчета хеш-объектов (неизменяемых, таких как строки, числа, кортежи и т.д.). Это коллекция, в которой элементы хранятся в виде словарных ключей, а их счетчики хранятся в виде значений словаря.

Счетчик может быть любым целочисленным значением, включая ноль или отрицательное число. Класс collections.Counter() похож на мультимножества в других языках программирования.
isinstance()

Функция isinstance() вернет True, если проверяемый объект object является экземпляром указанного класса (классов) или его подкласса (прямого, косвенного или виртуального).

Если объект object не является экземпляром данного типа, то функция всегда возвращает False.

Функцией isinstance() можно проверить класс, кортеж с классами, либо рекурсивный кортеж кортежей. Другие типы последовательностей аргументом classinfo не поддерживаются.
Согласны? 🤔
Декораторы

Декораторы выполняют простую функцию. Позволяют написать обертку для функции, дополнить или изменить ее функционал. Не трогая код самой функции. В примере превратили из простой функции квадрата числа, функцию с выводом результата в консоль.

Декораторы, как вопрос, встречаются почти на каждом собеседовании это крайне важный аспект языка.
Кто-то еще это помнит? 🌚
Регулярные выражения (REGEX)

Регулярные выражения — более гибкий способ нахождения подстрок в строках. В Python есть встроенный модуль, позволяющий работать с регулярными выражениями, — re. Модуль re содержит функцию search, которая позволит вам найти подстроку

Если вам нужны сложные сопоставления, например, учет регистра — этот метод подойдет вам лучше всего. Но у него есть и недостатки: сложность и скорость работы. То есть, в простеньких задачах его лучше не использовать.
Множественное присваивание

Еще одна фишка, которая буквально находится в основах изучения языка, но прибегают к ней крайне редко. Если у вас есть группа переменных с определенной смысловой группой, можно сократить код и присвоить им всем значения сразу.
И правда 🤔