28574
№ 4974297878 Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/Python_per_month
Новогодние подарки от Центрального университета!
В преддверии Нового года ребята из Центрального университета решили порадовать будущих выпускников и студентов приятным сюрпризом — розыгрышем среди подписчиков iPad Pro и 50 подписок Tinkoff Pro!
Условия — проще некуда:
1.Подписаться на телеграм-канал и группу в VK.
2.Найти в телеграм-канале пост в закрепе и поставить любую реакцию.
3.Написать в комментариях под ним «Участвую».
Победителя выявят случайным образом и объявят 24 декабря. Не забудьте выполнить все три условия. Stay Tuned!
erid:2VtzqvK6sVu
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
Найдите ошибку в коде
Ошибка в этом коде заключается в том, что функция factorial() вызывает саму себя, если n равно -1. В этом случае функция будет вызывать себя бесконечно, так как n никогда не станет равно 0.
Чтобы исправить ошибку, необходимо добавить условие, которое будет проверять, равно ли n 0. Если это так, то функция должна возвращать 1, а не вызывать саму себя.
#для_начинающих
#Вопросы_с_собеседования
Каким будет результат следующего выражения -31 % 10?
Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 - 1/10 и в ответ мы получим 10 - 1 = 9.
Очистка элементов в последовательности
Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют itertools, а именно метод compress.
Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.
Если логическое значение равно True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.
Виртуальная клавиатура на Python+OpenCV
Идея заключается в создании виртуальной клавиатуры, ее выводе на экран и возможности ее использования.
Смотреть статью
💎 Как быстро и эффективно собирать данные с разных сайтов?
Расскажет Мария Тихонова – Senior Data Scientist в SberDevices и преподаватель ВШЭ. Встречаемся на бесплатном уроке «Парсинг данных: собираем датасет своими руками», где мы поговорим об общих принципах сбора данных и изучим основные инструменты парсинга в Python.
💻 Вебинар идеально подойдет:
— тем, кто знает основы Python и хочет углубиться в ML и NLP;
— начинающим DS специалистам;
— тем, кто уже изучил основы ML и хочет понять более глубокие аспекты.
🗣 Занятие пройдёт 25 декабря в 20:30 мск и будет приурочено к старту курса «Natural Language Processing». После урока вы сможете продолжить обучение в рассрочку.
📍 Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://clck.ru/37CkT5
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Фильтр нецензурной лексики за 5 минут
Смотреть статью
Fugue
Fugue — это фреймворк Python для создания рабочих процессов Google Cloud Composer. Он предоставляет набор инструментов и библиотек, которые упрощают разработку, развертывание и управление рабочими процессами в Google Cloud.
Чтобы использовать Fugue в Python, необходимо сначала установить его с помощью pip:
pip install fuga
echo.
Функция tell()
Функция tell() используется для получения текущей позиции указателя в потоке данных. Она применяется чаще всего при работе с файлами, но также может использоваться с другими типами потоков, например, сокетами или консольным вводом.
Возвращаемое значение: целое число, указывающее положение указателя в байтах от начала потока.
Аргументы: tell() не принимает никаких аргументов.
#для_начинающих
Сцепление исключений
Сцепление исключений (exception chaining) позволяет сохранять информацию об исключении, которое произошло во вложенном блоке кода, в исключении более высокого уровня. Это полезно для отслеживания причин ошибок и обеспечения более полной информации о том, что произошло.
В примере на картинке, если возникает ZeroDivisionError, мы попадаем в блок except, а затем выполняем вложенный код, который вызывает ValueError. С помощью ключевого слова from мы указываем, что исключение ValueError является следствием (частью) исключения ZeroDivisionError. Таким образом, информация об исключении ZeroDivisionError сохраняется.
#для_продвинутых
Метод math.perm()
Метод math.perm() в Python возвращает количество способов выбрать k элементов из n элементов с порядком и без повторения.
Синтаксис:
math.perm(n, k)
n: Количество элементов из которых выбираются k элементов.k: Количество элементов, которые выбираются.
Начните изучение архитектуры ПО с бесплатного открытого урока «Модели взаимодействия или модели хранения данных» от OTUS.
На вебинаре:
- рассмотрим различные типы хранилищ: реляционные базы данных, NoSQL-базы и хранилища файлов;
- узнаем, как выбрать наиболее подходящий тип хранилища для различных сценариев и требований;
- изучим популярные модели CQRS и Event Sourcing.
Занятие пройдёт 20 декабря в 20:00 мск и будет приурочено к старту курса «Software Architect». После урока вы сможете продолжить обучение в рассрочку по специальной цене.
Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://otus.pw/vcnH/Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Метод swapcase()
Метод swapcase() в Python является встроенным методом строк (str), который создает новую строку, меняя регистр каждой буквы в исходной строке. Если буква была в верхнем регистре, она будет преобразована в нижний регистр, и наоборот.
Результатом будет строка 'hELLO, wORLD!'.
#для_начинающих
Ruff
Ruff — это новый, быстроразвивающийся линтер Python кода, призванный заменить flake8 и isort.
Основным преимуществом Ruff является его скорость. Ruff в 10-100 раз быстрее аналогов (Линтер написан на Rust). В сравнении с flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки».
Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort.
Документация лежит здесь.
#для_продвинутых
#Вопросы_с_собеседования
Реализуйте алгоритм поиска в ширину (BFS - Breadth-First Search) для графа на Python. Напишите код и объясните, как работает этот алгоритм. Обсудите его сложность и применение.
Объяснение:
Алгоритм поиска в ширину (BFS) используется для обхода или поиска в графе. Он начинает с выбора стартовой вершины и пошагово распространяется по всем смежным вершинам.
Шаги алгоритма:
1. Создается пустое множество visited для отслеживания посещенных вершин и очередь queue для управления порядком обхода.
2. Стартовая вершина добавляется в очередь и отмечается как посещенная.
3. Пока очередь не пуста, извлекается вершина из начала очереди (queue.popleft()).
4. Выводится значение текущей вершины и добавляются в очередь все её смежные вершины, которые еще не были посещены.
5. Шаги 3-4 повторяются до тех пор, пока очередь не опустеет.
Сложность:
Временная сложность: O(V + E), где V — количество вершин, E — количество ребер в графе.
Пространственная сложность: O(V), так как используется множество для отслеживания посещенных вершин.
Применение:
BFS применяется в задачах поиска кратчайших путей в невзвешенных графах.
Он также используется в задачах, связанных с обходом графов, например, в нахождении компонент связности.
JPype
JPype — это библиотека Python, которая позволяет обращаться к Java-классам и объектам из Python. Она написана на языке Java и использует JNA (Java Native Access) для взаимодействия с Java-библиотеками.
Чтобы использовать JPype в Python, необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:
pip install JPype1
import JPype1
Как вывести скилл программирования на новый уровень?
Расскажем на открытом уроке «Теория графов»
С Евгением Волосатовым — профессиональным программистом, преподавателем языка Java и автором курсов по C#, Java и PHP — обсудим, почему от кандидатов на Middle и Senior-должности в крупных IT-компаниях требуют знания алгоритмов.
А также подробно разберём теорию графов и ее составляющие, сделаем обзор первой половины программы курса «Алгоритмы и структуры данных».
После урока вы сможете продолжить обучение на курсе в рассрочку на специальных условиях.
🔥 Вебинар подойдет бэкенд-разработчикам на любых языках программирования начального и среднего уровня и системным программистам. Доступно обучение в рассрочку.
Занятие пройдёт 26 декабря в 20:00 мск.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://clck.ru/37EbSC
С чего начать карьеру Python-разработчика?
⚡️ Отус приглашает 27 декабря в 20:00 мск на бесплатный вебинар «Как при помощи декораторов изменить поведение функции в Python»
Вебинар приурочен к старту курса «Специализация Python Developer». Курс доступен в рассрочку.
🎙 На вебинаре вы:
- изучите декораторы в Python и освоите их создание;
- научитесь использовать декораторы для изменения поведения функций;
- увидите примеры применения декораторов в реальных проектах.
Спикером выступит Суреном Хореняном – Full Stack-разработчиком в МТС ИИ.
➡️ Для бесплатного участия и получения записи регистрируйтесь по ссылке: https://clck.ru/37DbwA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❗️Как развиваться Python-разработчику?
Наращивать объем знаний и навыков. За этим приходите на вебинар, приуроченный к старту онлайн-курса «Python Developer. Professional» в OTUS.
✅ 21 декабря — «Создаем REST API для сайта на Django»
🔹На занятии вы получите полное представление о принципах, инструментах и передовых методах создания надежного API, который легко интегрируется с проектами Django.
🔹 Урок охватывает весь процесс проектирования и внедрения REST API: от настройки исходной среды до обработки аутентификации и оптимизации производительности.
🔥 Результат урока:
Вы создадите проект Django для разработки API и приобретите знания по тестированию, отладке и развертыванию веб-сайтов Django с помощью RESTful API.
👉 ПРОЙТИ ТЕСТ для регистрации на открытый урок
https://otus.pw/hWj9/?erid=LjN8Jtyf7
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963
Six
Библиотека Six — это мощная библиотека, которая предназначена для сглаживания различий между двумя версиями Python: 2 и 3. Она предоставляет утилиты для обеспечения совместимости кода, который работает на обеих версиях Python без изменений. Six состоит всего из одного файла Python, поэтому его легко скопировать в проект.
В этом примере функция dispatch_types использует константы типов из библиотеки Six для проверки типа переданного значения и вызова соответствующей функции обработки.
📌 Уже 25 декабря в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив.
Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке.
Приходите, чтобы пообщаться и поучиться у опытного разработчика, узнать всю правду и перспективы Python и получить полезные подарки для комфортного старта в разработку.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика.
Также вас ждут бонусы на обучение на Хекслете и новогодние скидки!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KcHpD
Voluptuous
Voluptuous — это библиотека Python для проверки данных. Она позволяет создавать схемы данных, которые определяют допустимые значения для различных полей данных. Voluptuous можно использовать для проверки данных, полученных от пользователей, из API или из других источников.
Для использования Voluptuous необходимо сначала импортировать библиотеку:
import voluptuous as v
PyBrain
PyBrain — это библиотека машинного обучения, которая предоставляет широкий набор алгоритмов и инструментов для обучения нейросетей и других задач машинного обучения.
PyBrain имеет ряд преимуществ, которые делают его привлекательным для разработчиков машинного обучения:
— Простота использования: PyBrain имеет простой и понятный синтаксис, который делает его удобным для изучения.
— Модульность: PyBrain является модульной библиотекой, что позволяет разработчикам создавать собственные алгоритмы и инструменты.
— Производительность: PyBrain написан на Python, который является высокопроизводительным языком.
PyBrain может использоваться для решения широкого спектра задач машинного обучения, включая:
— Классификация: обучение нейронной сети для классификации входных данных в один из нескольких классов.
— Регрессия: обучение нейронной сети для прогнозирования непрерывных значений.
— Обнаружение аномалий: обучение нейронной сети для обнаружения аномальных входных данных.
#для_пролвинутых
Функция sample()
Функция sample() модуля random в Python возвращает случайную выборку элементов из последовательности. В первом параметре функции указываем последовательность, во втором параметре — количество элементов, которые мы хотим выбрать случайным образом.
#для_начинающих
+1 в копилку годных каналов про Python
С @python_practics освоишь Python гораздо проще:
📌 полезные сниппеты кода для твоих задач
📌 теория Python понятным языком с примерами
📌 вопросы из собеседований
📌 бесплатные книги и курсы по Python
📌 тесты и опросы для тех, кто не запоминает сухую инфу
Функция compress
Функция compress из itertools используется для фильтрации элементов входной последовательности на основе соответствующих элементов булевой последовательности.
Код с картинки создает новый список, включающий только элементы data, для которых соответствующее значение в selectors является True. В данном случае результат будет [1, 3, 5].
#для_начинающих
Пишем приложение на Python для подготовки к собеседованиям по Python
На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE.
Смотреть статью
#Вопросы_с_собеседования
Реализуйте алгоритм сортировки слиянием (Merge Sort) на Python. Напишите код и объясните, как работает этот алгоритм. Расскажите о его сложности и возможных оптимизациях.
Объяснение:
Алгоритм сортировки слиянием (Merge Sort) использует стратегию «разделяй и властвуй». Он состоит из двух основных шагов:
Разделение (Divide): Массив разделяется на две равные (при четном числе элементов) или почти равные (при нечетном) части. Этот процесс рекурсивно выполняется для каждой из подпоследовательностей.
Слияние (Merge): Отсортированные подпоследовательности сливаются обратно в один отсортированный массив.
Сложность:
Временная сложность: O(n log n) в худшем, лучшем и среднем случаях.
Пространственная сложность: O(n).
Оптимизации:
— При реализации можно использовать вставочную сортировку для маленьких подмассивов, так как у нее меньшая константа в асимптотике.
— Если массив уже отсортирован, можно добавить проверку и пропустить шаг сортировки.
— Вместо копирования подмассивов при каждом рекурсивном вызове можно использовать вспомогательный массив для слияния, что уменьшит использование памяти.
frozensetfrozenset представляет собой неизменяемое множество. Основное отличие между set и frozenset заключается в том, что set является изменяемым типом данных, тогда как frozenset не может быть изменен после создания.
Вот несколько ключевых особенностей frozenset:
Неизменяемость: Это означает, что вы не можете добавлять, удалять или изменять элементы в frozenset после его создания.
Хешируемость: Поскольку frozenset неизменяем, он является хешируемым, что означает, что его можно использовать в качестве ключа в словарях и элемента множества.
Обратите внимание, что, поскольку frozenset не поддерживает изменения, некоторые методы, которые изменяют множество (например, add, remove, discard), не применимы к frozenset. Однако, вы можете выполнять операции, возвращающие новые frozenset, такие как объединение и пересечение.
#для_начинающих
🔥 Ключевой навык востребованных дата-инженеров
Освойте его, чтобы вырасти в доходе всего за 4 месяца на онлайн-курсе «Spark Developer» от OTUS.
💻 После курса вы сможете:
— Разрабатывать приложения Spark
— Разрабатывать модели ML на Spark и выводить их в Production
— Запускать Spark в Hadoop и Kubernetes
— Писать тесты для Spark-приложений
— Использовать Spark для обработки табличных, потоковых, гео-данных и графов
— Настраивать мониторинг Spark-приложений
Вы можете заранее бесплатно получить полную программу обучения, чтобы убедиться, что она вам подходит. Также курс доступен для приобретения в рассрочку.
⏩ Оставьте заявку прямо сейчас и получите 3 полезных урока от экспертов курса в подарок: https://clck.ru/36yaHH
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru