uk
Feedback
Python академия

Python академия

Відкрити в Telegram

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Показати більше
7 286
Підписники
+124 години
-57 днів
-4230 день
Архів дописів
Удаляем дубликаты из списка в Python Очень часто мы бы хотели удалить или найти дубликат элемента в списке. Давайте посмотрим
Удаляем дубликаты из списка в Python Очень часто мы бы хотели удалить или найти дубликат элемента в списке. Давайте посмотрим, как удалить дубликаты из списка. Лучший подход — преобразовать список в множество. Множества представляют собой неупорядоченную структуру данных с уникальными значениями и не допускают копий. Подписывайтесь на канал 👉@pythonofff

Как эффективно по отношению к памяти сравнить два неупорядоченных списка Давайте предположим, что у вас есть два списка, кото
Как эффективно по отношению к памяти сравнить два неупорядоченных списка Давайте предположим, что у вас есть два списка, которые содержат одинаковые элементы. Однако эти элементы стоят в разном порядке. Два списка содержат одни и те же элементы, а вот их порядок отличается. Давайте посмотрим, как мы можем удостовериться, что перед нами два одинаковых списка. • Мы можем использовать метод collections.Counter • Можно использовать sorted(), если объекты поддаются порядку. Подписывайтесь на канал 👉@pythonofff

3 трюка с itertools Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с и
3 трюка с itertools Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции – chain. Она позволяет "склеивать" несколько итерируемых элементов в один. Далее, accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее. А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция combinations. Вторым аргументом можно задать длину этой самой комбинации. Подписывайтесь на канал 👉@pythonofff

Подборка каналов для IT специалистов 🎯 Системное администрирование 📌 https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др. Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT Чат программистов📌 https://t.me/developers_ru Excel лайфхак📌 https://t.me/Excel_lifehack GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub CodePen 📌 https://t.me/codepen_1 Сообщество пользователей CodePen Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика Разработка игр 📌 https://t.me/game_devv Все о разработке игр Библиотеки 📌 https://t.me/book_for_dev Книги для программистов Rus https://t.me/java_360 Книги по Java Rus https://t.me/python_360 Книги по Python Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/coddy_academy Полезные советы по программированию QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров https://t.me/arhitekturamira World Architecture Английский 📌 https://t.me/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике Арбитраж трафика 📌 https://t.me/partnerochkin CPA и арбитраж трафика Крипта 📌 https://t.me/bitkoinoff Новости криптовалют DeepFake 📌 https://t.me/deepfakenow Публикуем deepfake видео Мир технологий 📌 https://t.me/mir_teh Видео из мира технологий

Замер времени выполнения куска кода с помощью модуля «timeit». Модуль timeit позволяет замерить время выполнения любого куска
Замер времени выполнения куска кода с помощью модуля «timeit». Модуль timeit позволяет замерить время выполнения любого куска кода. Большие куски кода не очень удобно, но вот мелкие довольно хорошо. Закидываете вашу строчку внутрь timeit и готово. Подписывайтесь на канал 👉@pythonofff

#вакансия #удалённо #job #remote #parttime #преподаватель #Python #qapython #webpython Компания: OTUS – образовательная платформа Вакансия: преподаватель курсов: 🔹Python QA Engineer на модуль "Автоматизация мобильного тестирования". Требуется опыт от 2-3 лет работы с pytest + Appium (будет совсем супер, если есть опыт и с Андроидом, и с iOS👍). 🔹Web-Python 🔹Буткэмп Python. Требуется опыт работы с Python от 5 лет. Локация: удаленно; сами определяете нагрузку и выбираете, на какие темы преподавать. 💰Вознаграждение: Ставка за 1 урок (1.5 часа) – от 4000р. до 6000р. Дополнительные активности на Ваше усмотрение, которые оплачиваются отдельно: разработка и переработка материалов вебинара, проверка домашних заданий, менторство. У нас классная команда 450+ экспертов с уникальными компетенциями из различных компаний. Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам. Научим: ✅ работать с аудиторией; ✅ давать обратную связь; ✅ публично выступать; ✅ структурировать свои знания. Вы сможете: 🎁 проходить наши курсы со скидкой; 💪 набирать себе команду из лучших студентов; 💸 совмещать с текущей фулл-тайм загрузкой. Хотите узнать больше? @yu_grin

Именованные кортежи, как альтернативы классам в Python. Если нет желания создавать новый класс и предполагаемая структура не
Именованные кортежи, как альтернативы классам в Python. Если нет желания создавать новый класс и предполагаемая структура не слишком сложна и без дополнительных функций, тогда можно использовать именованные кортежи. Для понимания: Именованные кортежи определяют имена для каждой позиции в кортеже и позволяют создавать более читаемый и понятный код. Они могут быть использованы в тех же случаях, что и обычные кортежи, а обращаться к полям можно не только по индексу, но и по имени. Подписывайтесь на канал 👉@pythonofff

Процесс делегирования в Python Делегирование – это объектно-ориентированный подход, также называемый паттерном проектирования
Процесс делегирования в Python Делегирование – это объектно-ориентированный подход, также называемый паттерном проектирования. Предположим, у вас есть объект x, и вы хотите изменить поведение только одного из его методов. Вы можете создать новый класс, предоставляющий новую реализацию метода, который вы хотите изменить, и делегирующий все остальные методы соответствующим методам объекта x. В примере показан класс, охватывающий поведение файла и преобразующий данные из нижнего в верхний регистр Метод write() в классе upcase конвертирует строку из нижнего в верхний регистр до вызова другого метода. Собственно сама делегация осуществляется за счет использования объекта self._out. Подписывайтесь на канал 👉@pythonofff

ASCII-текст По умолчанию json.dump проверяет, имеет ли ваш текст в словаре кодировку ASCII. Если присутствуют символы, отличн
ASCII-текст По умолчанию json.dump проверяет, имеет ли ваш текст в словаре кодировку ASCII. Если присутствуют символы, отличные от ASCII, они автоматически экранируются. Но это не всегда приемлемо. Во многих случаях вы бы хотели сохранить символы Unicode нетронутыми. Подписывайтесь на канал 👉@pythonofff

Преобразуем список в словарь при помощи генератора словаря Для преобразования списка Python в словарь также можно использоват
Преобразуем список в словарь при помощи генератора словаря Для преобразования списка Python в словарь также можно использовать генератор словаря. Генератор словаря похож на генератор списка в том, что оба они создают новое значение соответствующего типа данных. Что касается синтаксиса, в генераторе словаря используются фигурные скобки {}, а в генераторе списка — квадратные [ ]. Для начала мы объявили список фруктов (fruits), где хранятся их названия, которые мы хотим перенести в словарь. Затем мы использовали генератор словаря, чтобы пройтись по каждому элементу в списке fruits. Для каждого фрукта в нашем списке мы добавили элемент в новый словарь. При этом каждому фрукту мы присвоили значение In stock. Подписывайтесь на канал 👉@pythonofff

re.compile() С помощью этого метода регулярные выражения компилируются в объекты шаблона и могут использоваться в других мето
re.compile() С помощью этого метода регулярные выражения компилируются в объекты шаблона и могут использоваться в других методах. Рассмотрим это на примере поиска совпадений с шаблоном. Подписывайтесь на канал 👉@pythonofff

Школа программирования Хекслет объявляет набор на подготовительный курс по Python. Даём только мясную и прикладную информацию
Школа программирования Хекслет объявляет набор на подготовительный курс по Python. Даём только мясную и прикладную информацию. Никакой воды и траты твоего времени. По окончании 14-дневного курса ты уже владеешь базовым знанием языка и даже напишешь собственную программу! Прямо сейчас переходите по ссылке ниже и бронируйте место, мы стартуем 1 июня!

Как отформатировать строку с помощью f-строк F-строки (сокращение от format string) – это новейший метод из поддерживаемых Py
Как отформатировать строку с помощью f-строк F-строки (сокращение от format string) – это новейший метод из поддерживаемых Python 3, поэтому он быстро набирает популярность. f-строки похожи на метод .format(). Однако они предоставляют более ёмкий способ сделать то же самое, всего лишь добавив к строке букву f в качестве префикса. Последовательный порядок из метода конкатенации Модульность метода .format() Благодаря этим достоинствам все больше и больше разработчиков используют именно этот метод. Кроме того, этот подход легко освоить. Так что, если вы еще новичок в программировании, то f-строки однозначно для вас. Подписывайтесь на канал 👉@pythonofff

Облегчите перебор нескольких списков с помощью zip() С помощью встроенной функции zip() мы можем все немного упростить. Обрат
Облегчите перебор нескольких списков с помощью zip() С помощью встроенной функции zip() мы можем все немного упростить. Обратите внимание: функция zip() возвращает zip-объект, но с помощью приведения типов вы можете преобразовать его — например, с помощью list(), tuple() или dict(). Подписывайтесь на канал 👉@pythonofff

Элегантный способ перевернуть строку в Python - Цикл Мы можем перевернуть строку и в цикле. Для начала создадим массив (списо
Элегантный способ перевернуть строку в Python - Цикл Мы можем перевернуть строку и в цикле. Для начала создадим массив (список) reversedString[]. После этого мы можем запустить цикл, где итерируемой переменной будет index — длина списка. На каждой итерации цикла в reversedString добавляется символ из строки с индексом [index-1]. После этого index уменьшается на 1. Цикл продолжается до тех пор, пока переменная index не станет равна 0. Подписывайтесь на канал 👉@pythonofff

Когда стоит использовать замыкания? Так для чего же нужны замыкания? Замыкания позволяют избежать использования глобальных (g
+1
Когда стоит использовать замыкания? Так для чего же нужны замыкания? Замыкания позволяют избежать использования глобальных (global) значений и обеспечивают некоторую форму сокрытия данных. Для этого также может использоваться объектно-ориентированный подход. Если в классе необходимо реализовать небольшое количество методов (в большинстве случаев один метод), замыкания могут обеспечить альтернативное и более элегантное решение. Иногда количество атрибутов и методов становится больше, лучше реализовать класс. Вот простой пример, где замыкание может быть более предпочтительным, чем определение класса и создание объектов. Но выбор остается за вами. Подписывайтесь на канал 👉@pythonofff

re.split() Данный метод разделяет строку по заданному шаблону. Если шаблон найден, оставшиеся символы из строки возвращаются
re.split() Данный метод разделяет строку по заданному шаблону. Если шаблон найден, оставшиеся символы из строки возвращаются в виде результирующего списка. Более того, мы можем указать максимальное количество разделений для нашей строки. Синтаксис: re.split(шаблон, строка, maxsplit = 0) Возвращаемое значение может быть либо списком строк, на которые была разделена исходная строка, либо пустым списком, если совпадений с шаблоном не нашлось. Подписывайтесь на канал 👉@pythonofff

Кастомная функциональность Этот декоратор — это всего лишь пример того, как вы можете проверить некоторые разрешения совсем п
Кастомная функциональность Этот декоратор — это всего лишь пример того, как вы можете проверить некоторые разрешения совсем просто и на 100% настроить это так, как вам необходимо. Представьте, что у вас есть блог, магазин, форум… Если у пользователей должно быть несколько очков активности, чтобы написать отзыв, это стало бы хорошим способом избежать спама. Мы создадим декоратор, чтобы проверить, что пользователь вошел в систему и имеет более 10 баллов, поэтому может написать отзыв, в противном случае мы не дадим ему сделать этого. Подписывайтесь на канал 👉@pythonofff

Глубокое (полное) копирование Глубокая копия создает новую и отдельную копию всего объекта или списка со своим уникальным адр
Глубокое (полное) копирование Глубокая копия создает новую и отдельную копию всего объекта или списка со своим уникальным адресом памяти. Это означает, что любые изменения, внесенные вами в новую копию объекта или списка, не будут отражаться в исходной. Этот процесс происходит следующим образом: сначала создается новый список или объект, а затем рекурсивно копируются все элементы из исходного в новый. Короче говоря, оба объекта становятся полностью независимы друг от друга. Это похоже на концепцию передачи по значению в таких языках, как C ++, Java и C #. Подписывайтесь на канал 👉@pythonofff

Поверхностное копирование Поверхностное копирование создает отдельный новый объект или список, но вместо копирования дочерних
Поверхностное копирование Поверхностное копирование создает отдельный новый объект или список, но вместо копирования дочерних элементов в новый объект, оно просто копирует ссылки на их адреса памяти. Следовательно, если вы сделаете изменение в исходном объекте, оно будет отражено в скопированном объекте, и наоборот. Подписывайтесь на канал 👉@pythonofff