54326
№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
encode() и decode()
Функции encode() и decode() используются для преобразования строки в байтовое представление и обратно.
encode() преобразует строку в байты для хранения или передачи. А decode() конвертирует байты обратно в строку.
Параметр кодировки (в данном случае - utf-8) должен совпадать при encode и decode.
Метод join
Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.
Основные моменты:
- Метод принадлежит строке, вызывается на разделителе.
- В качестве разделителя можно использовать любую строку.
- В результате получится строка, где между элементами последовательности вставлен разделитель.
#это_база
multitasking
Библиотека multitasking предназначена для организации параллельных вычислений с использованием кооперативных потоков.
Она позволяет легко создавать параллельные задачи и управлять ими.
Multitasking полезен, когда в приложении нужно:
- Выполнять несколько задач параллельно
- Организовать очереди задач и пулы потоков
- Избежать блокировки интерфейса при длительных операциях
Как видно из примера, задачи выполнились параллельно, в произвольном порядке.
#вопросы_с_собеседований
Написать код, который будет рассчитывать угол между часовой и минутной стрелкой в заданное время.
Данная задача покажет логическое мышление кандидата, и как быстро он сможет придумать решение. Пример решения представлен на изображении.
Как подключить WiFi с помощью Python?
Библиотека os помогает нам взаимодействовать с операционной системой напрямую через python с помощью нескольких методов, таких как path(), getcwd(), system() и т. д.
Подробнее про работу кода можно почитать здесь.
Пишем торгового бота для акций
Смотреть статью
Как пользоваться методами maketrans() и translate()?
Метод maketrans() позволяет описать отображение одних символов на другие, возвращая таблицу преобразования.
Метод translate() позволяет применить заданную таблицу для преобразования строки.
Метод ljust()
Делает длину строки не меньшей width, по необходимости заполняя последние символы символом fillchar.
Walrus Operator :=
Это отдельный способ присвоения значения переменной. Отличается от стандартного тем, что не только присваивает переменной значение, но и сразу же, на месте, возвращает его, позволяя делать программы более гибкими и короткими.
Нейронные сети для начинающих. Решение задачи классификации Ирисов Фишера
В статье разбирается такое понятие — как нейронные сети, что они вообще из себя представляют и как с ними «подружиться», на практике решая простые задачи.
Смотреть статью
10 фишек Python, которые поднимут ваш скилл на новый уровень
Составили подборку из 10 фишек языка Python, которые упростят разработку, но о которых вы могли не слышать.
Смотреть статью
👩💻 Задача по Python: Поиск первого неповторяющегося символа в строке
Напишите функцию, которая находит первый символ в строке, который не повторяется. Если все символы повторяются, функция должна вернуть None.
Пример:
print(first_unique_char("swiss")) # Ожидаемый результат: "w"
print(first_unique_char("aabb")) # Ожидаемый результат: None
⚙️ itertools.accumulate()
В Python функция itertools.accumulate() вычисляет накопительные суммы или результаты других операций (например, произведение) над итерируемым объектом. Полезна для анализа последовательностей.
От первой строчки кода — до миллионов запросов в секунду.
В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
👩💻 Задача по Python: Объединение и сортировка двух списков
Напишите функцию, которая принимает два списка чисел, объединяет их, удаляет дубликаты и возвращает отсортированный список.
Пример:
list1 = [3, 1, 4, 1, 5]
list2 = [9, 2, 6, 5, 3, 5]
result = merge_and_sort(list1, list2)
print(result)
# Ожидаемый результат: [1, 2, 3, 4, 5, 6, 9]
#вопросы_с_собеседований
Как сравниваются последовательности?
При сравнении происходит поэлементное (по порядку) сравнение элементов последовательностей.
Сначала сравниваются первые элементы, если они равны - вторые и т.д.
Если при сравнении очередных элементов, элемент одной последовательности оказался больше элемента другой - то результат сравнения определен.
Если дошли до конца одной последовательности, то большей считается более длинная.
Таким образом, сравнение идет поэлементно слева направо до тех пор, пока элементы равны или пока не закончится одна из последовательностей. Это называется лексикографическим порядком сравнения.
#вопросы_с_собеседований
Что такое магические методы?
Магические методы - это специальные методы класса, которые начинаются и заканчиваются двумя символами подчеркивания.
Они вызываются автоматически интерпретатором Python при определенных действиях и используются для эмуляции встроенных в язык структур и функций.
Реализуя магические методы в своем классе, программист может определить поведение класса при различных операциях и сделать его похожим на встроенные типы.
Метод sets.issubset()
Метод sets.issubset() позволяет проверить находится ли каждый элемент множества sets в последовательности other. Метод возвращает True, если множество sets является подмножеством итерируемого объекта other, если нет, то вернет False.
Синтаксис:
sets.issubset(other).
Друзья, с наступающим Новым годом! 🎄✨
Спасибо, что вы с нами.
2025-й отлично показал, как быстро меняется индустрия: за год вышли новые думающие модели, которые сильно прокачали кодинг, анализ и мультимодальность.
Пусть 2026 принесёт вам спокойные релизы без ночных авралов, понятные ТЗ, сильные команды и проекты, которыми реально хочется гордиться. Пусть баги ловятся быстро, деплой проходит с первого раза, а нейросети становятся не магией, а надёжным инструментом в вашем рабочем наборе 😄
Счастья, здоровья и стабильного интернета — увидимся в новом году! 🚀💻🎉
Случайная перетасовка словаря в Python
Вы не можете перетасовать словарь. Что вы можете сделать, так это создать список ключей словаря и перетасовать его , чтобы добиться нового произвольного порядка доступа к содержимому словаря.
Получение срезов итераторов
Если вы попытаетесь получить срез итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению (см картинку).
Воспользовавшись методом itertools.islice, можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.
Вывод уникального идентификатора переменной
Уникальный идентификатор переменной находится с помощью метода id(). Для этого нужно просто передать в метод имя переменной.
Идентификатор объекта – это целое число, которое гарантированно будет уникальным и постоянным для этого объекта в течение его жизненного цикла.
Сходство строк в Python
Метод ratio() возвращает меру подобия/схожести последовательностей в виде числа с плавающей точкой в диапазоне [0, 1].
Поиск n минимальных элементов в списке
Наша программа возвращает n минимальных элементов из списка. Если n больше или равно длине списка, возвращается исходный список, отсортированный в порядке возрастания.
Используется list.sort() в сочетании с функцией deepcopy из встроенного модуля copy, чтобы создать клон списка и отсортировать его в порядке возрастания, а затем list.reverse(), чтобы отсортировать по убыванию. Для получения указанного количества элементов используется [:n]. Второй аргумент n опускается, чтобы получить одноэлементный массив.
Проверяем, является ли заданная дата праздником
Установка модуля - pip install holidays В нашем примере мы проверяем является ли 25 декабря 2021 в Великобритании праздником. Наша программа выдает нам, что в этот день отмечается Рождество.
Генерируем ip адреса
С помощью следующего фрагмента кода мы можем с легкостью сгенерировать ip адрес.
#вопросы_с_собеседований
Как работает функция zip() в Python, что произойдет, если переданные итерируемые объекты имеют разную длину, и как можно преобразовать результат работы этой функции обратно в оригинальные последовательности?
Ответ ⬇️
Функция zip() берет несколько итерируемых объектов и объединяет их в один итератор, который возвращает кортежи, сформированные из элементов входных последовательностей. Если переданные итерируемые объекты имеют разную длину, zip() завершает свою работу, как только самая короткая из последовательностей исчерпается.
Чтобы преобразовать результат zip() обратно в исходные последовательности, можно использовать распаковку с * (оператор звездочка), которая разделяет кортежи на отдельные списки.
Пример использования ⚙️
# Объединяем два спискаЧитать полностью…
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30]
# zip объединяет элементы двух списков
zipped = zip(names, ages)
print(list(zipped)) # [('Alice', 25), ('Bob', 30)]
# Разъединяем с помощью распаковки
zipped_again = zip(names, ages) # Создаем заново, так как zip() исчерпаем
unzipped_names, unzipped_ages = zip(*zipped_again)
print(unzipped_names) # ('Alice', 'Bob')
print(unzipped_ages) # (25, 30)
⚙️heapq.nlargest() и heapq.nsmallest()
В Python функции heapq.nlargest() и heapq.nsmallest() позволяют получить n наибольших или наименьших элементов из коллекции. Это удобно для задач, связанных с выборкой экстремальных значений.
⚙️ string.Template
В Python класс string.Template из модуля string позволяет подставлять значения в строки с использованием плейсхолдеров. Это удобный способ работы с шаблонами текста.
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Статические методы вызываются напрямую через имя класса, без необходимости создавать экземпляр. Метод static_method возвращает строку "Static Method". Метод class_method получает ссылку на класс cls и использует её для возвращения строки "Class Method from MyClass".Читать полностью…