Сортировка пузырьком
Сортировка пузырьком (Bubble Sort) — это простой алгоритм сортировки, который многократно проходит через список, сравнивая пары соседних элементов и меняя их местами, если они стоят в неправильном порядке. Этот процесс повторяется до тех пор, пока весь список не будет отсортирован.
В данном коде функция
#для_продвинутых
Сортировка пузырьком (Bubble Sort) — это простой алгоритм сортировки, который многократно проходит через список, сравнивая пары соседних элементов и меняя их местами, если они стоят в неправильном порядке. Этот процесс повторяется до тех пор, пока весь список не будет отсортирован.
В данном коде функция
bubble_sort
принимает список arr
, который нужно отсортировать. Основной цикл проходит по всем элементам списка, а вложенный цикл сравнивает соседние элементы и меняет их местами, если это необходимо. После завершения алгоритма, список будет отсортирован.#для_продвинутых
👍22🗿9🎉1
Cтатический метод
В Python статический метод (staticmethod) — это метод, который привязан к классу, а не к экземпляру этого класса. Он не требует доступа к атрибутам и методам экземпляра, и может быть вызван независимо от создания экземпляра класса. Статические методы могут использоваться, например, для выполнения операций, которые связаны с классом в целом, но не требуют доступа к данным экземпляра.
Чтобы определить статический метод в классе, используется декоратор
#для_начинающих
В Python статический метод (staticmethod) — это метод, который привязан к классу, а не к экземпляру этого класса. Он не требует доступа к атрибутам и методам экземпляра, и может быть вызван независимо от создания экземпляра класса. Статические методы могут использоваться, например, для выполнения операций, которые связаны с классом в целом, но не требуют доступа к данным экземпляра.
Чтобы определить статический метод в классе, используется декоратор
@staticmethod
.#для_начинающих
👍12❤1🎉1
«Циклический сбор мусора»
«Циклический сбор мусора» — это процесс автоматической уборки памяти, занимаемой объектами, которые больше не доступны вашей программе. В Python есть встроенный механизм сборки мусора, который автоматически освобождает память, занимаемую объектами, на которые нет ссылок.
Вы можете влиять на этот процесс с помощью модуля gc (garbage collector).
Обычно нет необходимости вручную управлять сборкой мусора, так как Python самостоятельно заботится о освобождении памяти. Однако в некоторых случаях, особенно при работе с большими объемами данных или встроенными объектами, ручное управление сборкой мусора может быть полезным.
#для_продвинутых
«Циклический сбор мусора» — это процесс автоматической уборки памяти, занимаемой объектами, которые больше не доступны вашей программе. В Python есть встроенный механизм сборки мусора, который автоматически освобождает память, занимаемую объектами, на которые нет ссылок.
Вы можете влиять на этот процесс с помощью модуля gc (garbage collector).
Обычно нет необходимости вручную управлять сборкой мусора, так как Python самостоятельно заботится о освобождении памяти. Однако в некоторых случаях, особенно при работе с большими объемами данных или встроенными объектами, ручное управление сборкой мусора может быть полезным.
#для_продвинутых
👍17🎉4
unit-тесты
Unit-тесты (или unittests) — это метод тестирования ПО, который позволяет проверить, работает ли отдельная единица кода (обычно функция или метод) так, как ожидается. Библиотека
Писать хорошие unit-тесты — это важный аспект разработки программного обеспечения. Хорошие тесты обеспечивают надежность и поддерживаемость кода, помогают выявлять ошибки и улучшать качество продукта.
#для_начинающих
Unit-тесты (или unittests) — это метод тестирования ПО, который позволяет проверить, работает ли отдельная единица кода (обычно функция или метод) так, как ожидается. Библиотека
unittest
входит в стандартную библиотеку Python и предоставляет набор инструментов для написания и выполнения тестовых сценариев.Писать хорошие unit-тесты — это важный аспект разработки программного обеспечения. Хорошие тесты обеспечивают надежность и поддерживаемость кода, помогают выявлять ошибки и улучшать качество продукта.
#для_начинающих
🎉9👍4❤1🔥1
Паттерн проектирования «Стратегия»
«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.
Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
#для_продвинутых
«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.
Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
#для_продвинутых
👍13🎉2
👍14🤔4❤1
memory_profiler
Для использования
#для_начинающих
memory_profiler
— это сторонний модуль для языка программирования Python, который предоставляет инструменты для профилирования использования памяти в ваших программах. Этот модуль позволяет отслеживать изменения объема памяти во время выполнения кода, выявлять утечки памяти и оптимизировать использование памяти.Для использования
memory_profiler
вы должны установить его сначала. Это можно сделать с помощью инструмента установки пакетов Python, такого как pip
.#для_начинающих
👍10🎉1
Acceptance Testing
Acceptance Testing — это процесс тестирования программного обеспечения, который направлен на проверку того, соответствует ли разработанное ПО заявленным требованиям и ожиданиям заказчика или пользователей. Это более высокий уровень тестирования, который выполняется после завершения разработки и интеграции всех компонентов системы.
Основной целью Acceptance Testing является убедиться, что ПО работает в соответствии с функциональными и нефункциональными требованиями, установленными для проекта.
#для_начинающих
Acceptance Testing — это процесс тестирования программного обеспечения, который направлен на проверку того, соответствует ли разработанное ПО заявленным требованиям и ожиданиям заказчика или пользователей. Это более высокий уровень тестирования, который выполняется после завершения разработки и интеграции всех компонентов системы.
Основной целью Acceptance Testing является убедиться, что ПО работает в соответствии с функциональными и нефункциональными требованиями, установленными для проекта.
#для_начинающих
👍7🎉1
Компрехеншен
Компрехеншен (comprehension) — это синтаксический конструкт, который позволяет создавать новые структуры данных (например, списки, множества, словари) путем итерации по другой последовательности (например, списку или диапазону чисел) и применения некоторого выражения или логики к каждому элементу этой последовательности.
В Python существует несколько видов компрехеншенов: списковые компрехеншены (List comprehensions), множественные компрехеншены (Set comprehensions) и словарные компрехеншены (Dictionary comprehensions).
#для_начинающих
Компрехеншен (comprehension) — это синтаксический конструкт, который позволяет создавать новые структуры данных (например, списки, множества, словари) путем итерации по другой последовательности (например, списку или диапазону чисел) и применения некоторого выражения или логики к каждому элементу этой последовательности.
В Python существует несколько видов компрехеншенов: списковые компрехеншены (List comprehensions), множественные компрехеншены (Set comprehensions) и словарные компрехеншены (Dictionary comprehensions).
#для_начинающих
👍18🎉2
Расстояние Левенштейна
Расстояние Левенштейна (также известное как редакционное расстояние или расстояние редактирования) в программировании представляет собой метрику, которая измеряет различие между двумя строками в терминах минимального количества редакционных операций (вставок, удалений и замен символов), необходимых для преобразования одной строки в другую.
На практике расстояние Левенштейна может быть использовано для оценки схожести или различия между строками, например, для определения степени схожести в поиске похожих слов, исправления опечаток или сравнения генетических последовательностей.
#для_продвинутых
Расстояние Левенштейна (также известное как редакционное расстояние или расстояние редактирования) в программировании представляет собой метрику, которая измеряет различие между двумя строками в терминах минимального количества редакционных операций (вставок, удалений и замен символов), необходимых для преобразования одной строки в другую.
На практике расстояние Левенштейна может быть использовано для оценки схожести или различия между строками, например, для определения степени схожести в поиске похожих слов, исправления опечаток или сравнения генетических последовательностей.
#для_продвинутых
👍14🥰2❤1🆒1
Изменяем цвет текста в терминале
Кроме того, можно использовать константы из модуля
Например, чтобы вывести зеленый текст с помощью
В этом примере
Colorama
— это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах. Кроме того, можно использовать константы из модуля
Style
для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back
для установки цвета фона.Например, чтобы вывести зеленый текст с помощью
Colorama
, можно использовать код, приведенный выше. В этом примере
init
используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore
для установки цвета текста.👍10🎉2
Отрицательные индексы
В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.
Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#для_начинающих
В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.
Использование отрицательных индексов удобно, когда вам нужно обратиться к элементам с конца последовательности без явного вычисления длины.
#для_начинающих
👍18❤1
Что такое распаковка кортежа?
Распаковка кортежа — это процесс извлечения отдельных элементов из кортежа и присвоения их переменным. Кортеж представляет собой упорядоченную коллекцию элементов, которые могут быть различных типов. Распаковка позволяет удобно извлекать значения из кортежа и использовать их отдельно.
Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
Распаковка кортежа — это процесс извлечения отдельных элементов из кортежа и присвоения их переменным. Кортеж представляет собой упорядоченную коллекцию элементов, которые могут быть различных типов. Распаковка позволяет удобно извлекать значения из кортежа и использовать их отдельно.
Распаковка кортежей может быть полезным при работе с функциями, возвращающими несколько значений, а также для обмена значениями переменных без необходимости использовать дополнительные временные переменные.
👍14🔥1🎉1
👍20🤔9🗿2❤1
Тернарный оператор
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.
Тернарный оператор может быть удобным способом заменить простые
#для_начинающих
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.
Тернарный оператор может быть удобным способом заменить простые
if-else
выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.#для_начинающих
👍12❤1
Set comprehension
Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#для_начинающих
Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.
#для_начинающих
👍5😱2
Рисуем карту столицы Австралии
Установить пакет -
Folium
- это Python-библиотека для визуализации географических данных и информации, которая содержит координаты и местоположения.Установить пакет -
pip install folium
В нашем примере мы рисуем карту Канберры - столицы Австралии(Сама карта находится в посте выше).👍18❤2🎉2👨💻1
Pickling
#для_начинающих
Pickling
— это процесс сериализации объектов Python в байтовую последовательность и их обратное восстановление из этой последовательности. Pickling
позволяет сохранять сложные объекты, такие как списки, словари, классы и пользовательские объекты, в байтовом формате, который затем можно сохранить в файле или передать по сети, а затем восстановить обратно в исходное состояние.#для_начинающих
👍21❤2