#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Forwarded from About Python [ru]
применяли ли Вы в своей практике функцию reduce?

Answer - https://telegra.ph/Answer-10-18-2
Forwarded from About Python [ru]
Что будет выведено при работе данного кода?

Answer - https://telegra.ph/Answer-10-20-3
Forwarded from About Python [ru]
Применяли ли Вы в своей практике shift() библиотеки Pandas для смещения данных ?

Answer - https://telegra.ph/Answer-10-25
Forwarded from About Python [ru]
Что будет выведено при работе данного кода?

Answer - https://telegra.ph/Answer-10-25-2
Forwarded from About Python [ru]
Что будет выведено при работе данного кода?

Answer - https://telegra.ph/Answer-11-02-4
Forwarded from About Python [ru]
Что будет выведено на экран при работе данного кода?

Answer - https://telegra.ph/Answer-11-09
Forwarded from About Python [ru]
Работали ли Вы с нейронной сетью?

Answer - https://telegra.ph/Answer-11-10
Forwarded from About Python [ru]
Будет ли данный код работоспособным?

Answer - https://telegra.ph/Answer-11-17
Forwarded from About Python [ru]
Будет ли данный код работоспособным?

Answer - https://telegra.ph/Answer-11-22-4
Если вы устали от нудных и бесполезных туториалов по Python на YouTube, предлагаю вам альтернативу.

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

Учимся и прокачиваем свой скилл тут : @PythonSC
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
Мы используем PySpark и создаем много функций для преобразования данных, часто это трансформации data frame. Недавно я узнал про Python Docstrings - стандартный способ ведения документации функций.

Пример:

def square(n):
'''Takes in a number n, returns the square of n'''
return n**2

print(square.doc)

Takes in a number n, returns the square of n''

А вы знаете еще что-нибуль полезное?
Forwarded from Python Academy
Получаем атрибуты объекта

Функция vars() возвращает все атрибуты переданного параметра, в качестве которого может быть почти что угодно: модуль, класс, экземпляр и т. д.

Проще говоря, vars() возвращает словарь, который хранится в атрибуте __dict__ у переданного объекта.

А если ничего не передать в аргументы, то функция вернет словарь локальных переменных, как и locals() (про это был пост, кстати).

#переменные
Forwarded from Python Academy
Получаем исходный код объекта

Встроенный модуль inspect помогает разработчикам исследовать уже написанные программы.

Сегодня поговорим только про getsource(), который возвращает весь исходный код функции, класса или модуля в виде строки.

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

#inspect
Forwarded from Python Academy
Проверяем тип объекта

Раз уж в предыдущем посте затронули модуль inspect, то давайте еще поговорим про некоторые его возможности.

Функции ismodule(), isclass(), ismethod() и isfunction() проверяют переданный объект на то, является ли он модулем, классом, методом или функцией соответственно.

#inspect
Forwarded from Python Academy
Изменение в контекстных менеджерах

Как вы знаете, для удобного управления жизненным циклом ресурсов в python существуют контекстные менеджеры. Но до недавнего времени, чтобы открыть несколько ресурсов в рамках одной области видимости with нам требовалось либо прописывать их в одну строку либо использовать синтаксис переноса - обратный слеш \ (но это противоречит PEP8).

С выходом python 3.10 появился новый синтаксис, позволяющий в круглых скобках указывать несколько контекстных менеджеров. А также мы можем использовать переменную созданную одним контекстным менеджером в рамках следующего за ним менеджера.

Это стало возможным благодаря появлению нового синтаксического анализатора PEG в python 3.9. И, строго говоря, python 3.9 уже допускал данный синтаксис, хотя официально еще не поддерживался.

#with
Forwarded from Python Academy
Яндекс проведет YaTalks — главный ивент для разработчиков

Конференция пройдет 3 и 4 декабря. В первый день — препати, во второй — основная программа. Кроме докладов по актуальным и практическим темам предполагаются и дискуссии — будет, о чем поспорить:

— Романтика vs стабильность: как найти баланс между звёздными целями и ежедневными задачами?
— Женщины в IT: как избавить индустрию от стереотипов?
— Какой путь выбрать: попасть в компанию мечты или создать её самому?
— Как дорасти до топ-менеджера и стоит ли к этому стремиться?

Подробная программа и регистрация на YaTalks по ссылке.
Forwarded from Python Academy
Логирование

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

Python поставляется для этих целей с гибким модулем logging. Для создания объекта Logger, вызываем функцию getLogger, передавая в нее имя логера.

Созданный объект Logger предоставляет методы для записи сообщений разного уровня (DEBUG, INFO, WARNING, ERROR, CRITICAL), что удобно для поиска нужной информации с применением фильтров.

По умолчанию в logging задан уровень WARNING, это означает, что сообщения уровня DEBUG и INFO будут игнорироваться при записи в лог. Изменить данное поведение можно с помощью метода setLevel, передав минимальный уровень, который будет отлавливаться.

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

#logging
Forwarded from Python Academy
Проверка истинности объекта класса

Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод __bool__(), который был добавлен на замену устаревшему __nonzero__() в python2.

Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции bool(). Метод должен возвращать False или True.

Если __bool__() не определен, будет вызываться метод __len__(), если он определен, и, соответственно, объект будет считаться истинным, если результат __len__() не будет равен нулю. Если в классе не определены ни __len__(), ни __bool__(), все его экземпляры будут истинными.

#magic #__bool__
Forwarded from Python Academy
Аргументы командой строки

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

Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.

#sys
Forwarded from Python Academy
Режим разработки

Оказывается, еще в Python 3.7 появилась возможность запускать скрипты со специальным флагом -X для указания различных вариантов реализации.

Например, -X dev запускает скрипт в режиме разработки с функциями отладки и runtime-проверки, которые не используются по умолчанию из-за своей медлительности.

Также этот режим выводит дополнительные предупреждения в следующих случаях:

— Незакрытые файлы;
— Unawaited корутины;
— Неизвестная кодировка для str.encode;
— Проблемы с выделением памяти.

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

#python