Транспонирование 2d-массива
Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода
🔗 Python tricks
Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода
zip
.🔗 Python tricks
Обратный список и строка
Скорее всего, вы используете обратную функцию для инверсионной записи списков или строк. Но знаете ли вы, как осуществить инверсию более эффективным способом?
🔗 Python tricks
Скорее всего, вы используете обратную функцию для инверсионной записи списков или строк. Но знаете ли вы, как осуществить инверсию более эффективным способом?
🔗 Python tricks
NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
🔗 Python tricks
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
🔗 Python tricks
set.issubset
Метод issubset() возвращает True, если множество A является подмножеством B, т. е. если все элементы множества A присутствуют в сете B. В противном случае он возвращает False.
🔗 Python tricks
Метод issubset() возвращает True, если множество A является подмножеством B, т. е. если все элементы множества A присутствуют в сете B. В противном случае он возвращает False.
🔗 Python tricks
Get Method для словаря
Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать
При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью
🔗 Python tricks
Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать
Get method
.При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью
Get method
вы получите “None” .🔗 Python tricks
Паттерн проектирования «Стратегия»
«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.
Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
🔗 Python tricks
«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.
Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
🔗 Python tricks
unit-тесты
Unit-тесты (или unittests) — это метод тестирования ПО, который позволяет проверить, работает ли отдельная единица кода (обычно функция или метод) так, как ожидается. Библиотека
Писать хорошие unit-тесты — это важный аспект разработки программного обеспечения. Хорошие тесты обеспечивают надежность и поддерживаемость кода, помогают выявлять ошибки и улучшать качество продукта.
🔗 Python tricks
Unit-тесты (или unittests) — это метод тестирования ПО, который позволяет проверить, работает ли отдельная единица кода (обычно функция или метод) так, как ожидается. Библиотека
unittest
входит в стандартную библиотеку Python и предоставляет набор инструментов для написания и выполнения тестовых сценариев.Писать хорошие unit-тесты — это важный аспект разработки программного обеспечения. Хорошие тесты обеспечивают надежность и поддерживаемость кода, помогают выявлять ошибки и улучшать качество продукта.
🔗 Python tricks
«Циклический сбор мусора»
«Циклический сбор мусора» — это процесс автоматической уборки памяти, занимаемой объектами, которые больше не доступны вашей программе. В Python есть встроенный механизм сборки мусора, который автоматически освобождает память, занимаемую объектами, на которые нет ссылок.
Вы можете влиять на этот процесс с помощью модуля gc (garbage collector).
Обычно нет необходимости вручную управлять сборкой мусора, так как Python самостоятельно заботится о освобождении памяти. Однако в некоторых случаях, особенно при работе с большими объемами данных или встроенными объектами, ручное управление сборкой мусора может быть полезным.
🔗 Python tricks
«Циклический сбор мусора» — это процесс автоматической уборки памяти, занимаемой объектами, которые больше не доступны вашей программе. В Python есть встроенный механизм сборки мусора, который автоматически освобождает память, занимаемую объектами, на которые нет ссылок.
Вы можете влиять на этот процесс с помощью модуля gc (garbage collector).
Обычно нет необходимости вручную управлять сборкой мусора, так как Python самостоятельно заботится о освобождении памяти. Однако в некоторых случаях, особенно при работе с большими объемами данных или встроенными объектами, ручное управление сборкой мусора может быть полезным.
🔗 Python tricks
string.rstrip
rstrip() возвращает копию строки с удаленными конечными символами. Все комбинации символов в аргументе chars удаляются справа от строки до первого несоответствия. Если аргумент chars не указан, все конечные пробелы удаляются из строки.
🔗 Python tricks
rstrip() возвращает копию строки с удаленными конечными символами. Все комбинации символов в аргументе chars удаляются справа от строки до первого несоответствия. Если аргумент chars не указан, все конечные пробелы удаляются из строки.
🔗 Python tricks
Превращение списка в одну строку
Представьте, что у вас есть список строк, и вы хотите объединить все элементы в одну строку. Для этого вы наверняка будете перебирать каждый элемент в списке и присоединять к нему следующий.
Но есть более быстрый и эффективный способ выполнения той же задачи с помощью одной строки кода.
🔗 Python tricks
Представьте, что у вас есть список строк, и вы хотите объединить все элементы в одну строку. Для этого вы наверняка будете перебирать каждый элемент в списке и присоединять к нему следующий.
Но есть более быстрый и эффективный способ выполнения той же задачи с помощью одной строки кода.
🔗 Python tricks
Обработка ошибок во время выполнения
Это самый полезный совет для программистов, работающих с Python. Вы можете устранить ошибку и избавить программу от сбоев во время выполнения.
🔗 Python tricks
Это самый полезный совет для программистов, работающих с Python. Вы можете устранить ошибку и избавить программу от сбоев во время выполнения.
🔗 Python tricks
Паттерн проектирования «Фасад»
Паттерн проектирования «Фасад» (Facade) используется для предоставления унифицированного интерфейса к группе интерфейсов подсистемы. Он позволяет скрыть сложность и детали взаимодействия между различными компонентами системы, предоставляя клиенту более простой и удобный способ взаимодействия.
🔗 Python tricks
Паттерн проектирования «Фасад» (Facade) используется для предоставления унифицированного интерфейса к группе интерфейсов подсистемы. Он позволяет скрыть сложность и детали взаимодействия между различными компонентами системы, предоставляя клиенту более простой и удобный способ взаимодействия.
🔗 Python tricks
Библиотека Typer
Она позволяет легко создавать CLI приложения с поддержкой аргументов, опций, субкоманд и автоматической генерацией
Основные возможности
— Декоратор
— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация
— Встроенная поддержка
Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.
🔗 Python tricks
Typer
— это библиотека для создания командных интерфейсов приложений на Python. Она позволяет легко создавать CLI приложения с поддержкой аргументов, опций, субкоманд и автоматической генерацией
help
. Основные возможности
Typer
:— Декоратор
@typer.command()
для определения команд и подкоманд.— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация
help
с описаниями.— Встроенная поддержка
Click
для обратной совместимости.Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.
🔗 Python tricks
Анонимные функции
Иногда именованию функции не стоит уделять особого внимания. Например, если вы уверены, что она будет использована только раз. Для таких случаев Python предлагает применять анонимные функции, также называемые лямбда-функциями.
🔗 Python tricks
Иногда именованию функции не стоит уделять особого внимания. Например, если вы уверены, что она будет использована только раз. Для таких случаев Python предлагает применять анонимные функции, также называемые лямбда-функциями.
🔗 Python tricks
Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints.
🔗 Python tricks
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints.
🔗 Python tricks
Frozenset
frozensets используются для создания неизменяемых множеств.
Основные особенности frozensets:
- Они неизменяемы, то есть элементы нельзя добавить или удалить после создания.
- Они могут использоваться как ключи в словарях, так как неизменяемы.
- Они быстрее обычных множеств в операциях, так как являются неизменяемыми.
Здесь мы создали frozenset с элементами. Попытка добавить элемент вызывает ошибку, так как frozensets неизменяемы. Затем frozenset используется как ключ в словаре.
🔗 Python tricks
frozensets используются для создания неизменяемых множеств.
Основные особенности frozensets:
- Они неизменяемы, то есть элементы нельзя добавить или удалить после создания.
- Они могут использоваться как ключи в словарях, так как неизменяемы.
- Они быстрее обычных множеств в операциях, так как являются неизменяемыми.
Здесь мы создали frozenset с элементами. Попытка добавить элемент вызывает ошибку, так как frozensets неизменяемы. Затем frozenset используется как ключ в словаре.
🔗 Python tricks
Генераторы коллекций
Генераторы коллекций позволяют эффективно создавать большие коллекции данных без необходимости хранить всю коллекцию в памяти.
Вместо этого генератор возвращает элементы коллекции по одному при каждом вызове next().
Генераторы коллекций создаются с помощью функций-генераторов, использующих ключевое слово yield.
В примере каждый вызов next() на генераторе squares_gen возвращает следующий квадрат и сохраняет текущее состояние генератора.
🔗 Python tricks
Генераторы коллекций позволяют эффективно создавать большие коллекции данных без необходимости хранить всю коллекцию в памяти.
Вместо этого генератор возвращает элементы коллекции по одному при каждом вызове next().
Генераторы коллекций создаются с помощью функций-генераторов, использующих ключевое слово yield.
В примере каждый вызов next() на генераторе squares_gen возвращает следующий квадрат и сохраняет текущее состояние генератора.
🔗 Python tricks
Pygal
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
🔗 Python tricks
Pygal - это библиотека для визуализации данных с помощью SVG.
Она позволяет строить разнообразные интерактивные графики, такие как линейные, столбчатые, круговые диаграммы.
Этот код создает объект диаграммы line_chart, добавляет в нее несколько рядов данных, задает заголовок, подписи по оси X и сохраняет результат в файл SVG.
В итоге получается интерактивный график изменения доли браузеров за определенный период.
🔗 Python tricks
range
Функция range() возвращает последовательность чисел в заданном диапазоне. Если ты передаешь в функцию range() один аргумент, это означает, что передается аргумент stop. В этом случае range() возвращает последовательность чисел, начиная с 0 до указанного (не включительно). Если ты передаешь два аргумента в range(), это означает, что передаются аргументы start и stop. В этом случае range() возвращает последовательность чисел, начиная с start (включительно) до stop (не включая).
🔗 Python tricks
Функция range() возвращает последовательность чисел в заданном диапазоне. Если ты передаешь в функцию range() один аргумент, это означает, что передается аргумент stop. В этом случае range() возвращает последовательность чисел, начиная с 0 до указанного (не включительно). Если ты передаешь два аргумента в range(), это означает, что передаются аргументы start и stop. В этом случае range() возвращает последовательность чисел, начиная с start (включительно) до stop (не включая).
🔗 Python tricks
Возврат нескольких значений из функции
Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.
🔗 Python tricks
Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.
🔗 Python tricks