Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
classmethod
classmethod — это декоратор в Python, который используется для определения методов класса, которые не принимают экземпляр класса (self) в качестве первого аргумента, а вместо этого принимают класс (cls) в качестве первого аргумента. Эти методы могут использоваться для операций, которые связаны с самим классом, а не с его экземплярами.
#для_начинающих
Ключевое слово self
Ключевое слово self
используется в методах классов для ссылки на текущий экземпляр (объект) класса. Оно является обязательным первым параметром в определении большинства методов классов. Когда вы вызываете метод объекта класса, Python автоматически передает этому методу ссылку на сам объект в виде аргумента self
.
#для_начинающих
Журнал XOR – мастхев для любого программиста. Новости, мемы и много кода.
Присоединяйся к самому большому сообществу айтишников: @xor_journal
Что такое линейная сложность сортировки?
Линейная сложность сортировки обозначает алгоритм сортировки, который имеет временную сложность, пропорциональную количеству элементов в сортируемом массиве (или коллекции). В математической нотации линейная сложность обозначается как O(n), где "n" - количество элементов.
Примером линейной сортировки может быть алгоритм «сортировка подсчётом» (counting sort). В этом алгоритме создается дополнительный массив для подсчета количества вхождений каждого элемента. Затем на основе этой информации о количестве вхождений каждого элемента строится отсортированный массив.
#для_начинающих
Сигналы
Сигналы представляют собой асинхронные уведомления, отправляемые операционной системой процессу или программе в ответ на определенное событие, такое как прерывание, ошибка, запрос завершения и т. д. Сигналы позволяют программам реагировать на различные ситуации, возникающие во время выполнения.
В Python существует модуль signal
, который предоставляет функциональность для работы с сигналами. Он позволяет программистам создавать обработчики сигналов, которые могут быть вызваны при получении определенных сигналов операционной системы.
#для_начинающих
Гринлеты
Гринлеты обычно связан с библиотекой Gevent, которая предоставляет механизм асинхронного программирования, используя зеленые потоки (greenlets). Зеленые потоки (greenlets) являются легковесными «корутинами», то есть функциями, которые можно приостанавливать и возобновлять выполнение, а также передавать им управление без необходимости полного переключения контекста, как это происходит с потоками операционной системы.
Gevent предоставляет высокоуровневый интерфейс для работы с гринлетами, позволяя программистам писать асинхронный код, который выглядит подобно синхронному. Это может упростить написание кода, который обрабатывает множество одновременных задач без явного использования многопоточности или многозадачности на уровне операционной системы.
#для_продвинутых
🐍 Курс «Python для Пентестера»
Старт: 4 сентября
Длительность: 3 месяца
ℹ️ На курсе будем изучать продвинутые техники использования Python, научимся писать прикладной софт, который используется пентестерами в их профессиональной деятельности. Максимум практики, чат с живым общением и поддержка преподавателей!
🎓 После 3-месячного онлайн-курса «Python для пентестера» вы сможете:
✔️ Эффективно использовать базы данных и сеть Интернет;
✔️ Получать данные от сайтов в автоматическом режиме;
✔️ Писать прикладные программы на Python.
❗️После прохождения курса у вас остается доступ к материалам в течение года
🏆 Выдаём УПК/сертификат при успешной сдаче экзамена
В честь начала учебного года команда Академии дарит скидку 10% на оплату курса до 10 сентября. Промокод: ОСЕНЬ2023. Возможна оплата в рассрочку.
📌 Узнать подробнее о курсе
Рисуем карту столицы АвстралииFolium
- это Python-библиотека для визуализации географических данных и информации, которая содержит координаты и местоположения.
Установить пакет - pip install folium
В нашем примере мы рисуем карту Канберры - столицы Австралии(Сама карта находится в посте выше).
Тернарный оператор
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.
Тернарный оператор может быть удобным способом заменить простые if-else
выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.
#для_начинающих
Что такое распаковка кортежа?
Распаковка кортежа — это процесс извлечения отдельных элементов из кортежа и присвоения их переменным. Кортеж представляет собой упорядоченную коллекцию элементов, которые могут быть различных типов. Распаковка позволяет удобно извлекать значения из кортежа и использовать их отдельно.
Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
Отрицательные индексы
В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.
Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#для_начинающих
Уже 30 и 31 августа в 19:00 по мск пройдёт бесплатный 2-дневный онлайн-вебинаре о Python и Java, где вы попробуете себя в роли разработчика и научитесь писать код на двух языках. Узнаете, как освоить базовые навыки, найти удаленную работу и вырасти до middle-разработчика за год работы.
🎁 Все участники получат «Карту компетенций бэкенд-разработчика» в подарок! Она поможет составить свой образовательный трек и понять, какие навыки и инструменты необходимы для трудоустройства.
Сравните Python и Java, узнаете главные особенности каждого и сможете определиться с выбором профессии!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: 2RanymaS8Jt
🐍 Не просто сложно, а очень сложно... пройти хардкорный тест по Python от OTUS.
⬆️ Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на продвинутом курсе «Python Developer. Professional» от OTUS.
На котором вас ждет:
- Продвинутые темы и практика на «боевых» задачах уровня Middle+
- Живое общение с экспертами Python-сообщества
- Проектная работа, которой можно показать свой уровень на собеседовании
💪 Овладейте лучшими практиками и навыками Python для уверенного карьерного роста
На курсе рассматриваются все особенности актуальных версий Python 3.6+.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/2Xvl/
Нативная интеграция. Информация о продукте www.otus.ru
Acceptance Testing
Acceptance Testing — это процесс тестирования программного обеспечения, который направлен на проверку того, соответствует ли разработанное ПО заявленным требованиям и ожиданиям заказчика или пользователей. Это более высокий уровень тестирования, который выполняется после завершения разработки и интеграции всех компонентов системы.
Основной целью Acceptance Testing является убедиться, что ПО работает в соответствии с функциональными и нефункциональными требованиями, установленными для проекта.
#для_начинающих
🔥Приглашаем на открытый урок по аналитике данных.
Тема: Базовый сбор требований в работе дата-аналитика
Урок пройдёт 23 августа в 20:00. Вебинар приурочен к старту онлайн-курса "Аналитик данных" от OTUS.
⚡️Что разберём на уроке:
-Жизненный цикл задачи в анализе данных;
-Какие вопросы нужно обязательно задавать и как правильно фиксировать ответы;
-Как преодолевать возражения и не заработать ненужный стресс в процессе.
✨Урок будет полезен:
-Новичкам в области анализа данных, которые задумываются об углублении знаний;
-Специалистам, которые уже делают первые шаги в этой профессии;
-Аналитики, работающие с подготовкой ручной отчетности.
Продолжить обучение можно на онлайн-курсе "Аналитик данных",
который можно приобрести в рассрочку.
💪Пройдите тестирование для регистрации на вебинар и оцените свой уровень в аналитике:
https://otus.pw/KHYd/Нативная интеграция. Информация о продукте www.otus.ru
Функция id()
Функция id()
используется для получения уникального идентификатора объекта. Этот идентификатор является целым числом, которое уникально для каждого объекта в рамках выполнения программы. Функция id()
принимает один аргумент, который представляет собой объект, и возвращает его идентификатор.
Обратите внимание, что идентификатор объекта может измениться во время выполнения программы, если объект перемещается в памяти. Поэтому id() полезно для определения, указывают ли две переменные на один и тот же объект, но не следует полагаться на него для других целей, таких как сравнение объектов на идентичность.
#для_продвинутых
Глубокое копирование (deep copy)
Глубокое копирование нужно для создания полной копии объекта, включая все вложенные объекты. Это важно для изменяемых объектов, таких как списки, чтобы изменения в копии не затрагивали оригинал.
Когда мы вызываем глубокое копирование, происходит следующее:
- Создается новый контейнерный объект (список, словарь и т. д.);
- Для каждого элемента исходного объекта рекурсивно вызывается глубокое копирование:
- Если элемент является изменяемым объектом (списком, словарем), то создается его копия с рекурсивным копированием вложенных элементов;
- Если элемент неизменяемый (число, строка) - он просто копируется как есть;
- Копии вложенных объектов вставляются в копию исходного объекта.
#это_база
Закон Амдала
Закон Амдала — это концептуальное правило, описывающее ограничения ускорения, которое можно достичь при оптимизации только части вычислений в программе. Он был предложен Генри Амдалом в 1967 году и является важным принципом в области параллельных вычислений.
Правило Амдала утверждает, что общий выигрыш в производительности от ускорения какой-либо части программы ограничен долей этой части, которая не может быть параллельно выполнена, плюс долей последовательных вычислений.
#для_продвинутых
Что такое MRO?
MRO (Method Resolution Order) — это механизм, используемый для определения порядка разрешения методов при наследовании классов и множественном наследовании. MRO определяет, какие методы будут вызываться в случае, когда у наследующего класса есть методы с одинаковыми именами, унаследованными от разных базовых классов.
MRO в Python определяется с помощью алгоритма C3 Linearization (C3 линеаризации). Этот алгоритм гарантирует, что порядок разрешения методов будет согласован и предсказуем вне зависимости от порядка наследования. Он предотвращает проблемы, связанные с амбигуитетами и неоднозначностями в множественном наследовании.
#для_продвинутых
Middleware (Django)
Middleware (промежуточное программное обеспечение) — это слой программного кода, который работает между различными компонентами приложения для обработки и управления запросами, ответами и другими аспектами обработки данных. Middleware обычно используется в веб-фреймворках и приложениях для обработки HTTP-запросов, но концепция middleware может применяться и в других контекстах.
Основная идея middleware заключается в том, чтобы добавить дополнительную логику или функциональность к обработке запросов и ответов без необходимости изменения основного кода приложения.
#для_начинающих
Фабрика декораторов
Фабрика декораторов — это структура или функция, которая генерирует и возвращает другие декораторы. Декораторы — это функции, которые используются для изменения поведения других функций или методов, путем обертывания (декорирования) их вокруг определенной логики.
Использование фабрики декораторов позволяет создавать более гибкие и параметризованные декораторы. Это может быть полезно, когда вам нужно применить различное поведение декоратора к разным функциям или когда вам необходимо настроить декоратор с определенными параметрами.
#для_начинающих
PicklingPickling
— это процесс сериализации объектов Python в байтовую последовательность и их обратное восстановление из этой последовательности. Pickling
позволяет сохранять сложные объекты, такие как списки, словари, классы и пользовательские объекты, в байтовом формате, который затем можно сохранить в файле или передать по сети, а затем восстановить обратно в исходное состояние.
#для_начинающих
Set comprehension
Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#для_начинающих
🔥 Все для сайта от 49 ₽/мес!
В SpaceWeb вы можете разместить сайт по привлекательной цене, а также получите:
✔️ Домен для вашего сайта при заказе на год.
✔️ Автоустановка Wordpress, Joomla и других популярных CMS.
✔️ Антивирусная проверка сайтов и возможность автоматического лечения.
✔️ Техническая поддержка в течение 1-2 минут в чате и по телефону.
Переходите и тестируйте бесплатно в течение 14 дней
👍Запустить сайт
Или подпишитесь на канал и следите за тем, как SpaceWeb развивает IT в России.
Реклама. ООО "СпейсВэб". erid: 2VtzquskFAw
🎃 С вероятностью 99.97% ваши инвестиции в криптопроекты превратятся в тыкву
На прикрепленной картинке: статистика токенов на dex-бирже Pancake, где каждый токен – это блокчейн проект. И подавляющая часть не проживает и 4 месяцев: торги сводятся к нулю и пропадает ликвидность.
Нет покупателей = нет продавцов. Нет торгов = нет возврата по вашим инвестициям.
Собственно, кто я такой, что могу делать такие выводы?
Меня зовут Рябикин Денис.
Я основатель компании Digital People.
C 2016 года занимаемся разработкой блокчейн решений любой сложности, занимаем 2 место в рейтинге Dappradar среди разработчиков.
За это время создали более 100 проектов.
Последние полгода я плотно изучаю бигдату (данные по торгам), так как готовим большой проект для тех, кто торгует на Dex.
У себя в канале, подробнее раскрываю данную тему, делюсь своим мнением по проектам web 3.0, блокчейну и инвестициям.
Поэтому всех заинтересованных приглашаю подписаться на мой канал 👇🏻
RIABIKIN
Изменяем цвет текста в терминалеColorama
— это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах.
Кроме того, можно использовать константы из модуля Style
для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back
для установки цвета фона.
Например, чтобы вывести зеленый текст с помощью Colorama
, можно использовать код, приведенный выше.
В этом примере init
используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore
для установки цвета текста.
Расстояние Левенштейна
Расстояние Левенштейна (также известное как редакционное расстояние или расстояние редактирования) в программировании представляет собой метрику, которая измеряет различие между двумя строками в терминах минимального количества редакционных операций (вставок, удалений и замен символов), необходимых для преобразования одной строки в другую.
На практике расстояние Левенштейна может быть использовано для оценки схожести или различия между строками, например, для определения степени схожести в поиске похожих слов, исправления опечаток или сравнения генетических последовательностей.
#для_продвинутых
Компрехеншен
Компрехеншен (comprehension) — это синтаксический конструкт, который позволяет создавать новые структуры данных (например, списки, множества, словари) путем итерации по другой последовательности (например, списку или диапазону чисел) и применения некоторого выражения или логики к каждому элементу этой последовательности.
В Python существует несколько видов компрехеншенов: списковые компрехеншены (List comprehensions), множественные компрехеншены (Set comprehensions) и словарные компрехеншены (Dictionary comprehensions).
#для_начинающих
memory_profilermemory_profiler
— это сторонний модуль для языка программирования Python, который предоставляет инструменты для профилирования использования памяти в ваших программах. Этот модуль позволяет отслеживать изменения объема памяти во время выполнения кода, выявлять утечки памяти и оптимизировать использование памяти.
Для использования memory_profiler
вы должны установить его сначала. Это можно сделать с помощью инструмента установки пакетов Python, такого как pip
.
#для_начинающих
Паттерн проектирования «Стратегия»
«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.
Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
#для_продвинутых