⚙️ Использование dataclasses для создания неизменяемых объектов
В Python 3.7 и выше можно использовать модуль dataclasses
для создания простых классов данных.
🗣️ Одной из интересных возможностей является создание неизменяемых (immutable) объектов, которые не могут быть изменены после создания.
Python Learning 👩💻
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳
Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.
Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.
Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow
Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KQE6B
➡️ Извлечение уникальных элементов из списка с сохранением порядка
🗣️ Обычно, когда нужно получить уникальные элементы из списка, используют set. Однако это нарушает порядок элементов.
Чтобы извлечь уникальные элементы, сохраняя их порядок, можно использовать следующую технику:•
Используем список для обхода элементов и set, чтобы отслеживать уже встреченные элементы, избегая их дублирования.•
Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.
Python Learning 👩💻
➡️ Модификация байт-кода функции в Python с использованием модуля byteplay3
Продвинутые программисты могут использовать модификацию байт-кода для изменения поведения функции на низком уровне.
✔️ Это позволяет создавать динамические изменения в функции без её переписывания на уровне исходного кода. В Python можно использовать модуль byteplay3 для работы с байт-кодом.
🔗 Ссылочка на доку
Python Learning 👩💻
➡️ Декоратор для кэширования результатов функций с учетом аргументов
Иногда необходимо кэшировать результаты функции для повышения производительности, особенно если функция выполняет тяжелые вычисления или обращения к внешним ресурсам.
🗣️ Данный декоратор кэширует результаты функции в зависимости от переданных аргументов, что делает его гибким и эффективным.
Python Learning 👩💻
Хотите научиться работать с Big Data и освоить базовые навыки аналитики? Приходите на курс «Python для анализа данных».
За 3 месяца вы научитесь работать с Python и Big Data с нуля. Программа подходит для новичков, начинающих аналитиков и специалистов из смежных профессий.
На курсе вы:
— изучите основы синтаксиса Python, освоите работу с ключевыми инструментами и библиотеками;
— погрузитесь в исследовательский анализ данных и разберётесь в основах статистики;
— научитесь проектировать и проводить AB-тестирование.
Вас поддержат действующие эксперты в аналитике данных из компаний разных отраслей. А проекты, которые вы создадите, станут частью вашего портфолио. После курса вы получите удостоверение о повышении квалификации или сертификат о прохождении.
Первые 4 темы можно пройти уже сейчас — это бесплатно. Попробуйте, чтобы понять, подходит ли вам такой формат обучения.
→ Начать обучение бесплатно
👀 Декоратор для автоматического кэширования результатов функций
Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.
✔️ В Python можно создать декоратор, который автоматически кэширует результаты функций.
Python Learning 👩💻
➡️ Проверка необходимой версии Python
✔️ Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.
Python Learning 👩💻
Начните обучение в магистратуре в Центральном университете уже на 3-м курсе бакалавриата!
Центральный университет — современный вуз, созданный при поддержке ведущих компаний России: Т-Банка, Авито и других.
Учебу реально совместить с последними курсами бакалавриата или действующей работой. Обучение занимает 20 часов в неделю в вечернее время в первый год, а занятия проводят в центре Москвы профессоры из МГУ, МФТИ, РЭШ и практики из индустрии. Обучение в университете построено по принципам ИТ-компаний, со средой, способствующей росту и развитию.
У каждого студента будет:
личный ментор по траектории обучения;
доступ к карьерному центру с коучами и консультантами;
опыт работы в проектах 30+ компаний-партнеров уже во время обучения;
диплом гособразца.
Участвуйте в онлайн-отборе, чтобы выиграть грант на обучение до 1,2 млн рублей. Больше подробностей про университет и конкурс грантов по ссылке!
erid:2VtzqubYWmq
Реклама, АНО ВО «Центральный университет», ИНН 774341802
➡️ Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:•
возврат нескольких значений или словарей;•
класс данных требует минимального количества кода;•
возможность сравнения классов данных;•
возможность распечатать класс данных для отладки при помощи repr;•
снижение вероятности ошибок в связи с требованием класса данных type hints.
Python Learning 👩💻
Знаете ли вы, что число π (пи) никогда не заканчивается и не повторяется?
А числа Фибоначчи встречаются во многих природных явлениях? 🐌
Математика — это не просто набор формул. Это язык, который описывает мир вокруг нас.
📚 Есть желание разобраться? В помощь вам — полезный канал о высшей математике. Его автор — выпускник СПБГУ, а ныне — преподаватель предмета.
Простым языком объясняет сложные вещи, даёт шпаргалки и проводит бесплатные практикумы 🔥
Приятный бонус — живые дискуссии в комментариях и ответы на любые вопросы.
Посмотрите сами 👉 @lav_math
➡️ wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
Python Learning 👩💻
⚙️ __repr__
При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:
>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>
class SomeClass:
def __repr__(self):
return "<какое-то описание>"
some_instance = SomeClass()
# выводит <какое-то описание>
print(some_instance)
__repr__()
позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод __str__()
позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.➡️ Queue
Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.
✔️ Он позволяет реализовывать такую структуру данных, как очередь. Очереди позволяют добавлять и извлекать элементы согласно определённому правилу.
🗣️ Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.
➡️ Декоратор для измерения времени выполнения функции в Python
В Python можно легко измерять время выполнения функций с помощью декораторов. Этот подход удобен для анализа производительности и оптимизации кода.•
Декоратор оборачивает функцию и измеряет время ее выполнения, выводя результат на экран. Это позволяет легко оценить производительность различных участков кода.•
Декоратор time_it
может использоваться для любых функций, без изменения их логики, что делает его удобным инструментом для анализа производительности.
Python Learning 👩💻
➡️ Использование contextlib.contextmanager для создания контекстных менеджеров
Иногда бывает нужно создать собственный контекстный менеджер для управления ресурсами, такими как файлы или сетевые соединения.
✔️ В Python для этого можно использовать декоратор contextlib.contextmanager
, что делает код простым и элегантным.
Python Learning 👩💻
⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python
Иногда требуется ограничить время выполнения функции, чтобы предотвратить зависание или длительное выполнение задачи.
🗣️ В Python можно использовать модуль signal
для установки тайм-аутов на выполнение кода.
Python Learning 👩💻
➡️ Использование генераторов для создания бесконечных последовательностей в Python
Генераторы в Python позволяют создавать ленивые последовательности, которые вычисляются по мере необходимости.
🗣️ Это мощный инструмент для работы с большими или даже бесконечными данными, поскольку генераторы экономят память и ресурсы. Один из интересных и необычных способов использования генераторов — создание бесконечных последовательностей.
Python Learning 👩💻
📣 Для тех, кто ищет работу на Python
Представляем вашему вниманию канал, где админы вручную просматривают, отбирают и публикуют самые свежие и интересные вакансии, связанные с этим языком программирования.
🐍 Канал специализируется исключительно на Python
📆 Вакансии публикуются каждый день
🔝 В результате отбора выкладываются только топовые вакансии!
Python Вакансии l Работа Python — подписывайтесь и следите за лучшими вакансиями по Python!
⚙️ Ленивая инициализация свойств с помощью дескрипторов
➡️ Дескрипторы в Python позволяют управлять доступом к атрибутам объекта.
🗣️ С их помощью можно реализовать ленивую инициализацию свойств, что особенно полезно для дорогостоящих операций, которые нужно выполнять только при первом обращении к свойству
⚙️ Декорируем функции
🗣️ Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))
print_argument
мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».@print_argument
мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.Argument for add_one is 1
2
➡️ Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:
>>> 3 * 3
9
>>> _ + 3
12
⚙️ Обязательные аргументы
➡️ Для принудительного использования аргументов ставьте символ звездочки (*
) перед ними, заставляя все аргументы стать ключевыми.
Python Learning 👩💻
➡️ PyYAML
YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.
🗣️ В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.
➡️ Многоточие в Python
🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:
>>> ...
Ellipsis
python
def my_awesome_func():
...
⚙️ sh
Python — отличный скриптовый язык. Но иногда стандартные библиотеки os
и subprocess
вызывают только головную боль.
✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.
🗣️ Библиотека sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.
🔗 Ссылочка на доку
Python Learning 👩💻
⚙️ Перегрузка операторов
В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.
🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.
Python Learning 👩💻
❓ howdoi
Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?
✔️ Тогда вам не обойтись без этого инструмента командной строки:
$ pip install howdoi
$ howdoi vertical align css
$ howdoi for loop in java
$ howdoi undo commits in git
$ howdoi exit vim