python_per_month | Unsorted

Telegram-канал python_per_month - Python Learning

28574

№ 4974297878 Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/Python_per_month

Subscribe to a channel

Python Learning

⚙️ Декорируем функции

🗣️ Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как 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


Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Использование подчеркивания в REPL

Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:

>>> 3 * 3
9
>>> _ + 3
12


🗣️ Прием работает и в оболочке IPython.

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ Обязательные аргументы

➡️ Для принудительного использования аргументов ставьте символ звездочки (*) перед ними, заставляя все аргументы стать ключевыми.

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ PyYAML

YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.

🗣️ В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.


✔️ Модуль PyYAML позволяет использовать YAML в Python. PyYAML позволяет хранить любые Python-объекты и экземпляры любых пользовательских классов.

🔗 Ссылочка на доку

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Многоточие в Python

🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:

>>> ...
Ellipsis


⚙️ Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:

python        
def my_awesome_func():
...


✔️ Вот валидный код Python, и выглядит он теперь не так уж плохо.

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ sh

Python — отличный скриптовый язык. Но иногда стандартные библиотеки os и subprocess вызывают только головную боль.

✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.

🗣️ Библиотека sh поддерживает только платформы Linux и macOS; для работы на Windows вам придётся поискать другой инструмент.

🔗 Ссылочка на доку

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ Перегрузка операторов

В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.

✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.

🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.

Python Learning
👩‍💻

Читать полностью…

Python Learning

howdoi

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?

✔️ Тогда вам не обойтись без этого инструмента командной строки:

$ pip install howdoi


➡️ Задайте любой вопрос, и он постарается найти ответ на него:

$ howdoi vertical align css
$ howdoi for loop in java
$ howdoi undo commits in git


🗣️ Но будьте осторожны: он извлекает код из топовых ответов на StackOverflow и не всегда даёт полезную информацию:

$ howdoi exit vim


Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Jedi

🗣️ Библиотека Jedi предназначена для автодополнения и анализа кода. Она ускоряет процесс написания кода и делает его более продуктивным.

Если вы не разрабатываете свою IDE, то вам, наверное, будет более интересно использовать Jedi в качестве расширения редактора. К счастью, уже есть много вариантов.

Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.


🔗 Ссылочка на доку

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ dir

Когда-нибудь задумывались о том, как заглянуть внутрь объекта в Python и посмотреть на его атрибуты? Конечно, задумывались.

➡️ Используем командную строку:

>>> dir()
>>> dir("Hello World")
>>> dir(dir)


🗣️ Это может пригодиться при интерактивной сессии в Python, а также для динамического изучения объектов и модулей, с которыми вы работаете.

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ Использование функции sorted()

В Python очень легко сортировать некие последовательности данных с использованием встроенной функции sorted(), которая берёт на себя решение всех сопутствующих задач.

🗣️ Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:

sorted([3,5,2,1,4]) # [1, 2, 3, 4, 5]


➡️ А вот — пример сортировки списка строк в порядке убывания:

sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True) # ['india', 'germany', 'france', 'china', 'canada']


Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Возврат из функции нескольких значений

В Python есть возможность возврата из функции нескольких значений. Этого нет во многих других популярных языках программирования.

✔️ Для возврата из функции нескольких значений их нужно разделить запятыми. На основе этого списка значений Python создаст кортеж и вернёт его туда, откуда была вызвана функция.

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Использование коллекций Python

Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль collections даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов. Здесь мы рассмотрим метод Counter().

Этот метод принимает итерируемый объект, такой, как список или кортеж, и возвращает словарь, содержащий сведения о количестве различных объектов в исследуемом списке (Counter Dictionary). Ключами такого словаря являются уникальные элементы, представленные в итерируемом объекте, а значениями — количества таких элементов.


🗣️ Для создания объекта Counter нужно передать итерируемый объект (список, например) методу Counter()

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ Оптимизация памяти в Python: Использование генераторов вместо списков

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

➡️ Пример кода

Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:

# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]


Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:

# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))


Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.

Почему это полезно

Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Конкатенация строк

Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итоговому результату.

🗣️ Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку.


✔️ Более эффективный подход к решению этой задачи заключается в использовании функции join():

characters = ['p', 'y', 't', 'h', 'o', 'n']
word = "".join(characters)
print(word) # python


Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Проверка необходимой версии Python

✔️ Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.

Python Learning
👩‍💻

Читать полностью…

Python Learning

Начните обучение в магистратуре в Центральном университете уже на 3-м курсе бакалавриата!

Центральный университет — современный вуз, созданный при поддержке ведущих компаний России: Т-Банка, Авито и других.

Учебу реально совместить с последними курсами бакалавриата или действующей работой. Обучение занимает 20 часов в неделю в вечернее время в первый год, а занятия проводят в центре Москвы профессоры из МГУ, МФТИ, РЭШ и практики из индустрии. Обучение в университете построено по принципам ИТ-компаний, со средой, способствующей росту и развитию.
У каждого студента будет:
личный ментор по траектории обучения;
доступ к карьерному центру с коучами и консультантами;
опыт работы в проектах 30+ компаний-партнеров уже во время обучения;
диплом гособразца.
Участвуйте в онлайн-отборе, чтобы выиграть грант на обучение до 1,2 млн рублей. Больше подробностей про университет и конкурс грантов по ссылке!

erid:2VtzqubYWmq

Реклама, АНО ВО «Центральный университет», ИНН 774341802

Читать полностью…

Python Learning

➡️ Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:

возврат нескольких значений или словарей;
класс данных требует минимального количества кода;
возможность сравнения классов данных;
возможность распечатать класс данных для отладки при помощи repr;
снижение вероятности ошибок в связи с требованием класса данных type hints.

Python Learning
👩‍💻

Читать полностью…

Python Learning

Знаете ли вы, что число π (пи) никогда не заканчивается и не повторяется?

А числа Фибоначчи встречаются во многих природных явлениях? 🐌


Математика — это не просто набор формул. Это язык, который описывает мир вокруг нас.

📚 Есть желание разобраться? В помощь вам — полезный канал о высшей математике. Его автор — выпускник СПБГУ, а ныне — преподаватель предмета.

Простым языком объясняет сложные вещи, даёт шпаргалки и проводит бесплатные практикумы 🔥

Приятный бонус — живые дискуссии в комментариях и ответы на любые вопросы.

Посмотрите сами 👉 @lav_math

Читать полностью…

Python Learning

➡️ wikipedia

У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.

✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.

🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().

Python Learning
👩‍💻

Читать полностью…

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__() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ Queue

Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.

✔️ Он позволяет реализовывать такую структуру данных, как очередь. Очереди позволяют добавлять и извлекать элементы согласно определённому правилу.

🗣️ Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.


⚙️ Наконец, приоритетные очереди позволяют извлекать объекты согласно порядку их сортировки.

Python Learning
👩‍💻

Читать полностью…

Python Learning

🚀 Заканчивается набор на курс "Компьютерное зрение Advanced"! Стартуем 30 июля. Успейте попасть в группу! 🚀

Присоединяйтесь к нашему продвинутому курсу по компьютерному зрению от OTUS, ведущего образовательного центра с более чем 130 авторскими курсами для IT-специалистов уровня.

Что Вас ждёт на курсе?

Вводная часть и настройка: Разберетесь с настройкой окружения, углубленным изучением PyTorch и дополнительных библиотек.

Нейронные сети и обучение: Изучите эволюцию сверточных сетей, Self-Supervised Learning и адаптивные методы. Рассмотрите современные архитектуры и методы обучения.

Стандартные задачи CV: Освоите методы детектирования, 3D сегментацию, трекинг и ReID.

Генеративные модели: Научитесь использовать VAE, GAN, диффузионные модели, генеративные видеомодели и мультимодальные нейросети.

Продвинутые методы CV: Изучите SAM, стереозрение, 3D реконструкцию, SLAM, модели для автономных ТС и детекцию действий.

Оптимизация инференса: Научитесь выполнять инференс на сервере и аннотацию данных в CVAT.

Проектная работа: Получите консультации по проектам и защитите свои проекты.

🤔Какие навыки Вы сможете отразить в своём резюме после прохождения курса?

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

Сегментация изображений: Применение методов для медицинской диагностики и других областей, создание моделей с минимальным количеством размеченных данных.

Распознавание объектов: Разработка системы для автономных транспортных средств и роботов, способных ориентироваться в пространстве.

Оценка позы: Создание 3D модели объектов и сцен для медицины, архитектуры и робототехники.

Генеративные модели: Генерация изображений и видео, разработка мультимодальных моделей для создания контента.

Интеграция данных: Создание системы для обработки и интеграции текстов, изображений и видео, например, для визуального QA.

Пройдите вступительное тестирование и получите 15% скидку до 28 июля! Не упустите шанс! 🌟

👉Для регистрации и тестирования нажмите здесь.
👉Для более детального ознакомления с курсом здесь.

Места ограничены, торопитесь!

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Python Learning
👩‍💻

Читать полностью…

Python Learning

⚙️ bashplotlib

Хотите строить графики в консоли?

$ pip install bashplotlib


Стройте на здоровье.

🔗 Ссылочка на доку

Python Learning
👩‍💻

Читать полностью…

Python Learning

Самый полный стартовый гайд по ботам Telegram (python)

Смотреть статью

Читать полностью…

Python Learning

➡️ Преобразование двух списков в словарь

Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?

✔️ Для решения задачи можно прибегнуть к функции zip().

Python Learning
👩‍💻

Читать полностью…

Python Learning

Что будет выведено при выполнении кода?

Python Learning
👩‍💻

Читать полностью…

Python Learning

➡️ clean-text для нормализации и очистки текста

Отличный однострочный код для нормализации и очистки текста — идеально для проектов по обработке естественного языка.

Контент, созданный пользователями в Интернете и в социальных сетях, часто бывает грязным. Предварительно обработайте свои данные с помощью clean-text, чтобы создать нормализованное текстовое представление. Например, преобразуйте этот испорченный ввод:

A bunch of \\u2018new\\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght &lt;3!«


в этот чистый вывод:

A bunch of 'new' references, including [moana](<URL>).
"you are right <3!"


🔗 Ссылочка на доку

Python Learning
👩‍💻

Читать полностью…

Python Learning

🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 16-17 июля в 19:00 мск.

О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.

На вебинаре вы:

☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Поймете как продолжить обучение, какие навыки потребуются, чтобы стать backend-разработчиком на Python.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.

🎁 Приятные бонусы: полезный гайд для начинающего Python-разработчика и гайд о сленге в IT всем участникам интенсива!

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KQsz9

Читать полностью…
Subscribe to a channel