№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Вычисление выражений Python
Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так.
Функция random.choices()
Функция возвращает список элементов длины k, выбранных из последовательности lst с перестановкой элементов. Другими словами, функция используется, когда требуется выбрать несколько k случайных элементов из заданной последовательности, элементы не сохраняют первоначальный порядок.
Если k > len(lst), то элементы lst могут повторятся несколько раз.
Функция dropwhile()
Функция dropwhile() модуля itertools создает итератор, который удаляет элементы из последовательности iterable до тех пор, пока функция predicate равна True или 1. Возвращается итератор с отобранными элементами.
Гуглим с помощью Python
Установка необходимых пакетов — pip install beautifulsoup4 и pip install google
В нашем примере мы задаем в поиске слово "Python" и получаем ссылки на 3 самых популярных по мнению Google сайтов о Python.
☕️ Самые интересные доклады с YaTalks — уже на Яндекс Музыке!
Стартовал новый сезон YaTalks: ReRun — подкаст избранных докладов с самой большой технологической конференции Яндекса. Мы собрали их в Техномарафон — совместный спецпроект с командой Яндекс Музыки. Техномарафон будет идти 3 недели, а всего вас ждёт 28 выпусков.
На Техномарафоне расскажем, как создавать меняющие мир технологии, не отставать от быстрого развития индустрии и управлять командами опытных, независимых и творческих инженеров. Например:
🔴 Ускоритель в масштабе планеты: как инженеры управляют временем
🔴 Дебаты: AI недооценён или переоценён?
🔴 Человек и проект: как создаётся технологическое чудо
🔴 Свой среди чужих: как выжить в интернациональных командах?
Добавляйте Техномарафон в избранное на Яндекс Музыке — скоро выложим ещё много крутых выступлений!
Уникальный сервер для любых задач в Амстердаме за 2$ в месяц
1 Gb RAM / 1 core CPU / 10 Gb NVMe - 2$ в месяц
https://www.vdsina.com/ru/pricing/standard
- Уникальная фиксированная цена в долларах США, которая не будет меняться
- Компания зарегистрирована в Дубае
- Оплата с рублёвой карты, криптой, иностранной картой через Stripe
- Готовые шаблоны с Outline, WireGuard, IPsec
- Подключение к сети интернет — 10 Гбит/сек
- Доступны все популярные сайты, включая ChatGPT, Netflix
Почему я должен верить компании? VDSina работает с 2014 года и сейчас обслуживает более 40 000 серверов. Сомневаетесь? Вот чат в телеграме — задавайте вопросы другим пользователям: /channel/vdsina
Авито ищет аналитиков — получить оффер можно за одни выходные!
Вот, что ждет вас на позиции:
— зарплата от 200 до 480 тысяч рублей в зависимости от грейда;
— расширенный ДМС, компенсация питания и другие бонусы;
— формат работы на выбор: офис или удаленка;
— возможность поучаствовать в разработке новых продуктов — обучать модели, делать прогнозы, экспериментировать и автоматизировать.
Авито — это про карьерное развитие и комфортные условия. Регистрируйтесь на Weekend Offer до 4 апреля: https://u.to/A66AIA
🦾 Изучите работу gRPC в Python и прокачайте скиллы в разработке
Приходите на бесплатный практический урок от OTUS, где вы вместе с опытным экспертом:
- поговорите о gRPC — протоколе на основе HTTP/2 и Google Protobuf;
- посмотрите на реализацию клиента и сервера;
- обсудите плюсы и минусы такой реализации.
📆 Занятие пройдёт 25 марта в 20:00 мск и будет приурочено к старту курса «Python Developer. Professional». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись.
Пройти тест
Модульное программирование
Модульное программирование — это парадигма программирования, в которой программа делится на отдельные модули, каждый из которых выполняет конкретную функцию. Модули должны быть независимыми друг от друга, то есть они должны иметь собственные входные и выходные данные и не должны взаимодействовать друг с другом напрямую.
#для_начинающих
Библиотека yt-dlp
Библиотека yt-dlp — это реализация YouTube-DL на языке Python. Она позволяет скачивать видео с YouTube и других видеохостингов, а также получать информацию о видео.
Чтобы установить библиотеку yt-dlp, выполните следующую команду в терминале:
pip install yt-dlp
Xarray
Xarray — это библиотека Python для анализа и визуализации многомерных данных. Она расширяет возможности массивов NumPy, обеспечивая множество оптимизированных операций с данными.
Xarray похож на Pandas, но ориентирован не на табличные данные, а на N-мерные массивы данных
#для_начинающих
PyGObject
PyGObject — это набор Python-привязок для библиотеки GObject, которая является основой для создания кроссплатформенных приложений на GTK+ для Windows, macOS и Linux.
PyGObject доступен в большинстве дистрибутивов Linux и macOS. В Windows его можно установить с помощью пакетного менеджера Chocolatey.
choco install pygobject
Бесплатный курс по Backend-разработке от Газпромбанка 💻
Газпромбанк приглашает тебя в бесплатную академию GPB IT Factory с оффером для лучших студентов.
Программа GPB IT Factory составлена вице-президентами, IT-лидерами и директорами департаментов Газпромбанка, под руководством которых ты сможешь прокачать свои скиллы в backend-разработке, став уверенным junior-специалистом. Для роста на middle-позицию тебе нужен будет только опыт работы, который смогут получить лучшие студенты программы, присоединившись к команде Газпромбанка!
Мы ждем студентов 2 курса магистратуры или тех, кто уже завершил(-а) обучение в вузе и сможет посещать занятия в Москве. Для прохождения отбора достаточно обладать инженерным мышлением, владеть одним из языков программирования, а также знать основы SQL, Computer Science и Linux.
📍Оставить заявку
Узнаем сколько дней осталось до заданной даты с помощью Python
Вы можете изменить date_str
на любую другую дату, а вывод будет показывать количество дней до этой даты.
Mojo: Python-совместимый язык с производительностью Си — от Криса Лэттнера
2 мая 2023 года Modular (одна из компаний-лидеров в сфере AI-инфраструктуры) анонсировала язык программирования Mojo, обещающий полную совместимость с Python в сочетании со сверх-высокой производительностью.
Смотреть статью
Функция reduce()
Функция reduce() модуля functools кумулятивно применяет функцию function к элементам итерируемой iterable последовательности, сводя её к единственному значению.
Параметры:
function - пользовательская функция, принимающая 2 аргумента,
iterable - итерируемая последовательность,
initializer - начальное значение.
Друзья, если вам интересна карьера в IT, записывайтесь на курс «Основы программирования на Python»
Старт: 1 апреля
Продолжительность: 2 месяца
Python считается самым легким языком для входа в профессию. Его используют 49,2% программистов мира по версии Statista.com (2023).
Курс охватывает все основные концепции Python, вы научитесь:
- Писать прикладные программы на Python
- Разрабатывать приложения для работы с файлами
- Работать с регулярными выражениями
- Создавать программы с использованием циклов и функций
- Работать с модулями и библиотеками
- Форматировать вывод данных
- Обрабатывать исключения
🏆 Выдаём сертификат Академии при успешной сдаче экзамена
🏆 Помогаем с трудоустройством нашим ученикам
Войди в IT — выбери лучшее для себя.
Академия Кодебай
образовательный центр по ИБ
для профессионалов
Пишите в тг @Codeby_Academy
Или звоните 84994441750
#python #IT #новый_старт
Сортировка вставками (объяснение алгоритма)
Как и сортировка выборкой, этот алгоритм сегментирует список на две части: отсортированную и неотсортированную. Алгоритм перебирает второй сегмент и вставляет текущий элемент в правильную позицию первого сегмента.
Предполагается, что первый элемент списка отсортирован. На каждом шаге переходим к следующему элементу, обозначим его х. Если х больше прошлого элемента, оставляем x на своём месте. Если x меньше прошлого элемента, копируем прошлый элемент на вторую позицию, а х устанавливаем на его место.
Переходя к другим элементам несортированного сегмента, перемещаем более крупные элементы в отсортированном сегменте вверх по списку, пока не встретим элемент меньше x или не дойдём до конца списка. В первом случае x помещается на правильную позицию.
Время сортировки вставками в среднем равно O(n²), где n — количество элементов списка.
Pymorphy2Pymorphy2
— это морфологический анализатор для русского языка, написанный на языке Python. Он умеет определять часть речи слова, его грамматические характеристики и склонять его в нужную форму.
Для использования pymorphy2
в Python необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:
pip install pymorphy2
MorphAnalyzer
:from pymorphy2 import MorphAnalyzer
analyzer = MorphAnalyzer()
MorphAnalyzer
позволяет выполнять морфологический анализ слов. На примере из картинки вы можете узнать, какая часть речи слово «стол».DABL
DABL (Data Analytics in Business Language) — это библиотека Python, которая упрощает использование машинного обучения для анализа данных. Она предоставляет простой и понятный интерфейс для создания моделей машинного обучения, а также для их обучения и оценки.
Чтобы начать работу с DABL, необходимо установить библиотеку. Это можно сделать с помощью следующей команды:
pip install dabl
Правильная работа с базой данных на Python
Смотреть статью
Чем отличается __str__() от __repr__() в Python, и когда используется каждый из этих методов?
Метод __str__() используется для создания удобочитаемого представления объекта для конечного пользователя, тогда как __repr__() предназначен для создания официального строкового представления объекта, которое можно использовать для воссоздания того же объекта. __repr__() часто используется для отладки и разработки, так как он должен быть точным и однозначным. __str__(), с другой стороны, обычно используется для предоставления дружественного к пользователю представления объекта и может быть менее подробным или точным. Если __str__() не определен, Python будет использовать __repr__() в качестве запасного варианта.
Как перезагрузить импортированный модуль?
Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib.
Замените module_name на фактическое имя модуля, который вы хотите перезагрузить.
Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в производственном коде без серьезных причин.
28 марта, 19:00
Selectel Python Meetup.
Ребята из @SelectelCareers проводят митап для Python-разработчиков — присоединяйтесь!
Темы докладов:
◽️ «Черная овечка на фоне FastAPI», Николай Хитров, Банк Точка
Разберем еще один быстрый веб-фреймворк в Python, о котором вы пока не слышали. Николай сравнит его с FastAPI, рассмотрит плюсы и минусы.
◽️ «Слоистая архитектура в Python-приложениях: гибкость кода vs оптимизация», Антон Титов, Selectel
В докладе Антон расскажет, как они перешли на чистую архитектуру — с чего стартовали и к чему пришли. Он расскажжет, какую пользу несет изоляция бизнес-процессов от внешних библиотек и технической имплементации.
◽️ «Перешел с Python на Go. Лучше стало», Андрей Шубин, Яндекс.Облако
Наверняка многих посещали мысли: «а давайте перепишем все с Python на Go»? Легко ли реализовать привычные нам приемы из Python в новом языке программирования и стоит ли? В докладе Андрей поделится своим опытом.
Подключайтесь онлайн или приходите в офис в Санкт-Петербурге: https://slc.tl/u4yka
Реклама ООО «Селектел» erid 2VtzqwE2tSQ
Pyro4
Pyro4 — это библиотека Python для удаленного вызова процедур (RPC). Она позволяет создавать удаленные объекты, которые можно вызывать из других процессов или компьютеров.
Чтобы использовать Pyro4, необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:
pip install Pyro4
PyQt6
PyQt6 — это библиотека Python для создания приложений с графическим интерфейсом (GUI) с помощью инструментария Qt. Qt - это мощный и зрелый инструментарий для разработки GUI, который используется в широком спектре приложений, от настольных приложений до мобильных приложений и веб-приложений. PyQt6 позволяет использовать все возможности Qt в Python.
Чтобы начать работу с PyQt6, необходимо установить библиотеку. Для этого можно использовать менеджер пакетов, такой как pip:
pip install PyQt6
Декоратор abstractmethodabstractmethod
— это декоратор из модуля abc
, который используется для определения абстрактных методов в классах Python.
Что такое абстрактный метод?
Абстрактный метод — это метод, который объявляется в классе, но не имеет реализации. Он служит шаблоном для методов, которые должны быть реализованы в подклассах.
#для_начинающих
Кэшированные атрибуты
Во встроенном пакете functools
присутствует декоратор @cached_property
, позволяющий кэшировать результат метода и загнать его в атрибут.
Таким образом при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
Python-библиотека moexAlgo для упрощения работы с Алгопак API
Библиотека необходима для работы с демоверсией Алгопак — новым инструментом Московской биржи. Благодаря ему вы можете прокачать свои навыки работы через REST API и Python-клиент. Клиенты получают доступ к большому набору исторических и онлайн-данных по рынку акций MOEX и могут проводить backtest различных торговых стратегий, а также создавать и автоматизировать торговые алгоритмы. Демоверсия Алгопак доступна всем зарегистрированным пользователям сайта ПАО Московская Биржа — тестируйте на сайте.
#для_продвинутых
Реклама. Рекламодатель ПАО Московская биржа. ОГРН (1027739387411)
#вопросы_с_собеседований
Что выведет программа?
Ответ:
Кажется, ничего сложного. create_multipliers вернёт список из 5 функций (назовём их list_lamba_f). Каждая list_lamba_f будет умножать свой аргумент на свой индекс в результирующем массиве.
Получается, что на экране мы увидим:
0
2
4
6
8
Дальнейший разбор предполагает, что вам знакомо замыкание (closure) при использовании вложенных функций (nested functions).
Свои коррективы в наивное объяснение выше вносит позднее связывание. Согласно ему, значение переменной из замыкания (это переменная i) вычисляется в тот момент, когда вызывается внутренняя функция (наши list_lamba_f).
Получается, что значение i в list_lamba_f вычисляется в момент вызова multiplier(2) в пятой строчке. Но в этот момент create_multipliers уже отработала целиком. и значение i — это 4. То есть для всех list_lamba_f значение i равно 4.
Итак, ответ:
8
8
8
8
8.