seniorpy | Unsorted

Telegram-канал seniorpy - Senior Python Developer

44765

Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Subscribe to a channel

Senior Python Developer

➡️ Использование модуля ast для анализа и модификации исходного кода Python

Модуль ast (Abstract Syntax Tree) позволяет анализировать и модифицировать исходный код Python на уровне его абстрактного синтаксического дерева (AST). Это мощный инструмент для тех, кто хочет динамически изменять код, строить анализаторы или трансформировать Python-программы на лету.

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

✔️ ast открывает множество возможностей для тех, кто занимается метапрограммированием или созданием собственных инструментов для анализа и оптимизации Python-кода.

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

Senior Python Developer

#вопросы_с_собеседований
Как работает метод __new__() в Python?

Ответ ⬇️
Метод __new__() создает новый экземпляр класса, выделяя память для объекта. Он вызывается до метода __init__(), который уже занимается инициализацией созданного экземпляра. Это важно для работы с неизменяемыми типами, такими как str или int, а также в случаях, когда нужно контролировать процесс создания объекта, например, в паттерне Singleton.

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

Senior Python Developer

Вебинар: «Как построить pipeline предобработки данных для машинного обучения»

📅 Дата: 21 октября 2024, 18:00 (МСК)
👩‍💻 Спикер: Мария Тихонова

🚀 О чем поговорим:
На вебинаре вы научитесь строить полноценный pipeline для подготовки данных под задачи машинного обучения. Мы обсудим ключевые шаги, такие как Exploratory Data Analysis (EDA) и предобработка данных, на конкретных примерах.

💼 Что вы получите:
- Разберетесь, как проводить разведочный анализ данных (EDA).
- Изучите лучшие практики по очистке, трансформации и подготовке данных для ML-моделей.
- Поймете, как избежать типичных ошибок при работе с данными.

📌 Встречаемся в преддверии старта курса «Machine Learning. Basic». Все участники вебинара получат специальную цену на обучение!

👉 Для участия зарегистрируйтесь на сайте: https://otus.pw/vexW/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

Senior Python Developer

Метод file.writelines()

Метод файла file.writelines() записывает последовательность (список) строк в файл file.

Последовательностью может быть любой итерируемый объект, содержащий в качестве элементов строки. Обычно это список строк.

Обратите внимание, что метод file.writelines() не добавляет разделители строк автоматически. Если они требуются, то добавляйте их вручную.

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

Senior Python Developer

Извлекаем домен из URL-адреса с помощью Python

Для анализа домена URL-адреса в Python 3 вы можете использовать следующую конструкцию.

Однако для надежного парсинга домена верхнего уровня (example.testв данном примере) необходимо установить специализированную библиотеку (например, tldextract).

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

Senior Python Developer

Получаете зарплату в криптовалюте? 💸

IT-специалисты, это для вас!

Многие компании предлагают оплату труда в криптовалюте, но как ее удобно и безопасно обменять на фиатные деньги?

С помощью Exnode вы можете обменять криптовалюту на наличные быстро и надежно!

1. Перейдите на Exnode
2. Выберите ваш город
3. Выберите обменник с выгодным курсом.
4. Оставьте заявку.
5. Получите наличные в офисе в вашем городе.

Преимущества:

Анонимные сделки: Совершайте обмен криптовалюты, не раскрывая личные данные.
Проверенные обменники: Exnode сотрудничает только с надежными и проверенными сервисами.
Безопасность и конфиденциальность: Ваша информация и сделки защищены.

Подписывайтесь на телеграм-канал Exnode, чтобы быть в курсе всех новостей мира криптовалют!

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

Senior Python Developer

Преобразование списка в словарь

В этом примере мы преобразуем список формата [key_1, value_1, key_2, value_2] в словарь {key_1: value_1, key_2: value_2}.

Пример преобразования представлен на картинке.

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

Senior Python Developer

Функции, поддерживающие только именованные аргументы (kwargs)

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

Это может быть полезно для того, чтобы улучшить понятность кода. Как видите, наша задача легко решается при помощи использования аргумента * перед списком именованных аргументов. Здесь, что вполне очевидно, можно использовать и позиционные аргументы — в том случае, если поместить их до аргумента *.

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

Senior Python Developer

Экономия памяти с помощью __slots__

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

Здесь, когда мы объявляем атрибут slots, Python использует для хранения атрибутов не словарь, а маленький массив фиксированного размера. Это серьёзно сокращает объём памяти, необходимый для каждого из экземпляров класса. У применения атрибута slots есть и некоторые недостатки. Так, пользуясь им, мы не можем объявлять новые атрибуты, мы ограничены только теми, которые имеются в slots. Кроме того, классы c атрибутом slots не могут использовать множественное наследование.

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

Senior Python Developer

Получаем ежедневные новости с помощью Python

Для реализации нам нужно установить библиотеки requests и BeautifulSoup.
pip install bs4
pip install requests

Подробный разбор и описание кода можно найти здесь.

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

Senior Python Developer

Узнаём курс доллара при помощи Python в 2 строчки

Пакет forex-python позволяет получать данные о курсе валют и конвертировать одну валюту в другую. Программа на картинке позволяет нам узнать курс доллара относительно многих других валют мира. Вместо "USD" можно вставить любую другую валюту и получить актуальное соотношение.

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

Senior Python Developer

Senior-разработчик создал крутейший канал про SQL

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

Присоединяйтесь: @SQL

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

Senior Python Developer

Протоколы

Термины "протокол итератора" или "протокол дескрипторов" уже привычны и используются давно. Но теперь можно описывать протоколы в виде кода и проверять их соответствие на этапе статического анализа.

Протокол описывается как обычный класс, наследующийся от Protocol. Он может иметь методы (в том числе с реализацией) и поля. Реальные классы, реализующие протокол могут наследоваться от него, но это не обязательно, как показано в примере.

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

#typing #аннотации

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

Senior Python Developer

Создание функций на основе других с "замороженными" параметрами

Поговорим про очень важную функцию partial из пакета functools. Более подробно мы рассказываем про это в курсе, но сейчас дадим краткое описание работы.

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

Например, можем создать функцию, которая умножает два числа, а потом "заморозить" один аргумент, как на картинке.

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

Senior Python Developer

1. С чем предстоит работать:
Эмулирование зрителей на стримерские платформы с различной защитой(ютуб, твич, кик и подобные)
Опыт работы с сессиями, прокси, куками, обхода антифрода и клоудфлеера, токенами, апи социальных сетей, снифом приветствуется. Делаем на запросах.

2. На каком языке программирования будет основная часть работы:
Языки: Python | Node.js | C++ | С# уровня Middle или с опытом работы в накрутке

3. На какие сроки вам нужен исполнитель:
1-12 месяцев

4. Сколько готовы выплачивать исполнителю за работу:
От 500 до 5000$ за каждую площадку

Контакты:
Пишите в тг @TiKey_K

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

Senior Python Developer

➡️ Использование библиотеки aiometer для конкурентного выполнения асинхронных задач

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

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

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

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

Senior Python Developer

Деструкторы

В дополнение к конструкторам в Python также существуют и деструкторы. В каждом конкретном классе деструктор можно переопределить с помощью метода __del__, который вызывается автоматически при удалении объекта.

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

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

Senior Python Developer

Создание капчи

Напомним, что так называемая captcha нужна для того, чтобы определить, зашёл ли на сайт бот или человек и таким образом отсеять ненужный трафик.

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

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

Senior Python Developer

Всего лишь 5% разработчиков получают зп 400к+ в РФ.

Причин очень много, но одна из главных — высокие доходы в АйТи не совместимы с отдыхом…

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

Но есть ли другой путь?

Канал ML-инженера Олега Андриянова о том, как быстро расти в зарплате благодаря софт скиллам.

За 4 года в ИИ-разработке Олег вырос в доходах в 12.5 раз.

При этом продолжает качать и хард скилы, но не тратит на них всё свободное время.

Посты, которые будут вам полезны:
какие 2 софт скилла помогают зарабатывать больше?
как справляться со стрессом на работе, чтобы быть продуктивным?
как гарантировано повысить себе зарплату?
какой есть грязный трюк для повышения доходов?

Так что если вы хотите получать больше, подписывайтесь на канал Олега. И войдите в 5% золотых айтишников.

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

Senior Python Developer

Метод compress()

Метод compress() модуля itertools создает итератор, который фильтрует элементы из данных s, возвращая только те, которые имеют соответствующий элемент, равный True или 1 в последовательности lst.

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

Senior Python Developer

docstring

docstring — это строковый литерал, который по PEP должен быть сразу после определения названия для модуля, функции, класса или метода. Создаётся с помощью трех двойных кавычек.

В Python docstring игнорируются интерпретатором и не могут быть выполнены. Однако, когда вы добавляете docstring в модуль, функцию и так далее, эта строка становится специальным атрибутом, к которому можно получить доступ через __doc__.

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

Senior Python Developer

Присоединяйтесь к бесплатному мини-курсу «Симулятор профессии дата-сайентист»

За 3 дня с нуля создадите виртуального робота-помощника (как Siri, Олег или Маруся) и решите несколько типичных задач дата-сайентиста, чтобы понять, подходит ли вам это направление

А еще:

- поймете, какие навыки нужны для работы в Data Science
- познакомитесь с языком Python
- узнаете о библиотеках Pandas, Plotly, Numpy
- освоите основы машинного обучения
- поработаете с Google Colab
- напишете AI-driven прототип

Все участники получат подарки: чек-листы и гайды, и чтобы больше узнать о профессии, бессрочный доступ к курсу «Основы Python: пишем чат-бота»

Записаться на мини-курс и забрать подарки

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

Senior Python Developer

В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онлайн

Но где найти единую "базу" ивентов?
Чтобы "заглянул -> увидел все что есть -> выбрал -> пошел"?

🔥Советуем обратить внимание на канал, в котором публикуют анонсы вебинаров, хакатонов, конференций, мастер-классов, ивентов от гигантов индустрии и лучших специалистов по кодингу, дизайну, аналитике и т.д.

👍 Очень крутая вещь, где вы точно не пропустите ничего важного и интересного.

🗂 IT-мероприятия России / ITMeeting / IT events - подпишитесь, чтобы не пропустить свой ивент!

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

Senior Python Developer

Как удалить пробелы из начала строки (из её левой части), из её конца (из правой части), или с обеих сторон строки?

Здесь нам пригодятся, соответственно, методы lstrip(), rstrip() и strip().

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

Senior Python Developer

Главная конференция по бизнесу в Telegram

31 октября в Москве пройдёт первая конференция по Telegram от крупнейшего сервиса аналитики Telemetr. Топы Телеграм-рынка, маркетологи и представители бизнеса обсудят самые актуальные тенденции и перспективы развития платформы Telegram.

Присоединиться к мероприятию можно будет и онлайн. Тут найдёте всю информацию - https://telemetr.pro.

На конференции вас ждут:
- 20+ опытных спикеров
- 1000+ онлайн и офлайн участников
- две сцены
- нетворкинг активности
- лаунж зона
- вкусный фуршет
- яркое afterparty в PAPA Moscow

Спикерами главной сцены будут: Артемий Лебедев, руководитель Telemetr - Денис Ларионов, основатель агентства GoDigital - Сурен Альбертян, основатель Сидорин ЛАБ - Дмитрий Сидорин и многие другие!

За подробностями сюда - https://telemetr.pro

А купить билет со скидкой в 10% можно, использовав наш промокод - TMConf10

Купить билет - https://telemetr.pro

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

Senior Python Developer

Тестирование на pytest

pytest — ближе по духу к Python нежели unittest, который накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

При разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

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

Senior Python Developer

Функции только с позиционными параметрами

Если с помощью inspect посмотреть на то, как объявлена встроенная функция float, то увидим, что есть входной параметр x и еще какой-то непонятный слэш.

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

Такое поведение как раз задает тот слэш. Параметры, записанные до него, можно передать только как позиционные. После него – как угодно, все будет работать стандартно.

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

Senior Python Developer

Поздравляем, вы на 1 шаг ближе к работе мечты 🥳

Осталось только прочитать этот пост, подписаться на канал и откликнуться на вакансию 😉

Avito Career — место, где Авито делится актуальными вакансиями и стажировками для Python-разработчиков.

Подписывайтесь, чтобы найти ту самую работу ✨

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

Senior Python Developer

Что такое глубокая копия?

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

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

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

Senior Python Developer

3D визуализация на Python

Vpython — относительно простая библиотека для демонстрации физических явлений. В примере создаём вращающийся куб.

В начале программы создаём сам куб, задавая параметры, сохраняем его в переменную, а затем для вращения создаём бесконечный цикл. Документация:
https://www.glowscript.org/docs/VPythonDocs/index.html

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