ar
Feedback
Python tricks | Хитрости Питона

Python tricks | Хитрости Питона

الذهاب إلى القناة على Telegram

Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy

إظهار المزيد
6 053
المشتركون
لا توجد بيانات24 ساعات
-117 أيام
-5930 أيام
أرشيف المشاركات
Конкатенация строк Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итогово
Конкатенация строк Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку. Более эффективный подход к решению этой задачи заключается в использовании функции join() 🔗 Python tricks

Сравнение быстродействия def и lambda-функций Python. Общие функции В нашем коде для измерения быстродействия нужна соответст
Сравнение быстродействия def и lambda-функций Python. Общие функции В нашем коде для измерения быстродействия нужна соответствующая функция. Она будет главной для всех производных. Прежде всего, мы будем измерять время выполнения не один раз — слишком велика погрешность. Функция будет принимать в аргументы функцию, для которой проводится замер, а также количество повторений этой функции. Для самого измерения мы будем использовать разницу во времени между началом выполнения и концом. 🔗 Python tricks

Сравнение быстродействия def и lambda-функций Python. Общие функции Всего у нас будет 2 диаграммы: полная и усредненная. В ка
Сравнение быстродействия def и lambda-функций Python. Общие функции Всего у нас будет 2 диаграммы: полная и усредненная. В каждой по 2 графика: для def и lambda функций. Всего нам потребуется 4 черепахи. Список значений для 1 и 2 графика очевиден — несколько результатов выполнения замера скорости. С 3 и 4 всё сложнее — нужно найти среднее арифметическое одного из 2 первых графиков. Дабы слишком не заморачиваться над тем, чтобы график никуда не вылезал, найдём разницу между каждым элементом каждого графика и средним значением между средними арифметическими из 1 и 2 графика. В итоге, на графике мы будем видеть не общее значение, а разницу. 🔗 Python tricks

Сравнение быстродействия def и lambda-функций Python. Функции для упрощения жизни Кому захочется повторять одно и то действие
Сравнение быстродействия def и lambda-функций Python. Функции для упрощения жизни Кому захочется повторять одно и то действие, но с разными параметрами? Никому. Поэтому, есть некоторые вспомогательные функции, для рисования графика по заданным параметрам, для создания черепахи. Кстати, о последнем — черепахи тоже заносятся в общий словарь. 🔗 Python tricks

math.fabs math.fabs — это функция, которая возвращает абсолютное значение числа в виде числа с плавающей точкой. В отличие от
math.fabs math.fabs — это функция, которая возвращает абсолютное значение числа в виде числа с плавающей точкой. В отличие от встроенной функции abs, которая может возвращать целое или число с плавающей точкой в зависимости от типа входного значения, math.fabs всегда возвращает значение типа float. 🔗 Python tricks

sorted Функция sorted() возвращает отсортированный список элементов из указанного итерируемого объекта. Она не изменяет исход
sorted Функция sorted() возвращает отсортированный список элементов из указанного итерируемого объекта. Она не изменяет исходный объект, а возвращает новый отсортированный список. По умолчанию сортировка происходит по возрастанию, но с помощью параметра reverse=True можно изменить направление на убывание. 🔗 Python tricks

Сравнение быстродействия def и lambda-функций Python. Производные функции Слабонервным людям, ненавидящим многоуровневые влож
Сравнение быстродействия def и lambda-функций Python. Производные функции Слабонервным людям, ненавидящим многоуровневые вложения, не читать. Для ранее описанных общих функций можно создавать бесконечно много проиводных. Для производной замера скорости структура такая 🔗 Python tricks

⚠️ Что такое DDL и как он используется для управления схемой базы данных? Расскажем на открытом уроке«DDL: создание, изменени
⚠️ Что такое DDL и как он используется для управления схемой базы данных? Расскажем на открытом уроке«DDL: создание, изменение и удаление объектов в PostgreSQL» в рамках практического курса «PostgreSQL для администраторов баз данных и разработчиков» от OTUS 🔹 На встрече рассмотрим использование команд CREATE, ALTER, DROP и права, необходимые для выполнения DML-команд, пользователей и роли. 🦾  PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Тестируйте занятие на бесплатном уроке и начните обучение уже 30 июля.  👉  Регистрация и подробности https://otus.pw/ZOIA/?erid=LjN8K1jjc

Сравнение быстродействия def и lambda-функций Python. Производные функции А производная для функции построения графика — это
Сравнение быстродействия def и lambda-функций Python. Производные функции А производная для функции построения графика — это же самая функция с определенными аргументами. Мы будем проверять скорость создания и скорость выполнения разного вида функций. Вернёмся к первому. В случае проверки скорости создания функции, функция_для_замера() будет иметь одну цель — создать внутри себя def или lambda функцию. Её мы будем вызывать множество раз, и каждый раз она будет создавать одну и ту же функцию заново. 🔗 Python tricks

Сравнение быстродействия def и lambda-функций Python. Производные функции Иными словами — функция второго уровня вложенности
Сравнение быстродействия def и lambda-функций Python. Производные функции Иными словами — функция второго уровня вложенности служит для многократного вызова и создания во время каждого функции третьего уровня вложенности. 🔗 Python tricks

Расширение возможности операции побитового исключающего "или" для пользовательских объектов Метод rxor в Python используется
Расширение возможности операции побитового исключающего "или" для пользовательских объектов Метод rxor в Python используется для реализации операции побитового исключающего "или" (оператора ^), когда операнд слева не поддерживает соответствующий метод xor. Этот метод полезен для работы с пользовательскими объектами, когда требуется поддерживать операцию побитового исключающего "или" с различными типами данных. Рассмотрим пример, в котором у нас есть класс, представляющий пользовательские битовые данные, и мы хотим поддерживать операцию побитового исключающего "или" как с обычными числами Python (int), так и с другими экземплярами нашего класса. Этот лайфхак позволяет сделать ваш класс более универсальным и поддерживать операции побитового исключающего "или" с различными типами данных, что повышает его гибкость и удобство использования. 🔗 Python tricks

Реализация операции вычитания на месте для пользовательского класса Метод isub в Python используется для реализации операции
Реализация операции вычитания на месте для пользовательского класса Метод isub в Python используется для реализации операции вычитания на месте (оператора -=). Этот метод позволяет изменять объект "на месте", что может быть полезно для оптимизации производительности и управления памятью. Рассмотрим пример, в котором у нас есть класс, представляющий пользовательский список чисел. Мы хотим поддерживать операцию вычитания на месте как с обычными числами Python (int), так и с другими экземплярами нашего класса. Этот лайфхак позволяет вашему классу поддерживать более гибкие и удобные операции вычитания на месте, что улучшает производительность и удобство использования, а также помогает избежать лишних копий данных. 🔗 Python tricks

Эффективное использование метода __imatmul__(self, other) Метод imatmul(self, other) в Python позволяет определить поведение
Эффективное использование метода __imatmul__(self, other) Метод imatmul(self, other) в Python позволяет определить поведение оператора матричного умножения с присваиванием (@=) для пользовательских классов. Это полезно для работы с матрицами и другими структурами данных, поддерживающими матричное умножение, делая код более выразительным и эффективным. Метод imatmul — это специальный метод, который позволяет реализовать матричное умножение с присваиванием. Когда оператор @= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом матричного умножения. Использование метода imatmul позволяет легко реализовать матричное умножение с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте. 🔗 Python tricks

list.clear Метод clear используется для удаления всех элементов из списка, оставляя его пустым. Этот метод очень удобен, когд
list.clear Метод clear используется для удаления всех элементов из списка, оставляя его пустым. Этот метод очень удобен, когда нужно очистить список, не создавая новый объект. 🔗 Python tricks

del del – это оператор, который используется для удаления объектов. Он может применяться к элементам списка, срезам списка, п
del del – это оператор, который используется для удаления объектов. Он может применяться к элементам списка, срезам списка, переменным, атрибутам и элементам словаря. В контексте списков, del используется для удаления элементов или срезов из списка по индексу или диапазону индексов. 🔗 Python tricks

Эффективное использование метода ifloordiv(self, other) Метод ifloordiv(self, other) в Python позволяет определить поведение
Эффективное использование метода ifloordiv(self, other) Метод ifloordiv(self, other) в Python позволяет определить поведение оператора целочисленного деления с присваиванием (//=) для пользовательских классов. Это особенно полезно для работы с числовыми данными и структурами, где целочисленное деление и обновление значений являются обычными задачами. Метод ifloordiv является специальным методом, который позволяет реализовать целочисленное деление с присваиванием. Когда оператор //= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом целочисленного деления. Использование метода ifloordiv позволяет легко реализовать целочисленное деление с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте. 🔗 Python tricks

Эффективное использование метода __iand__(self, other) Метод iand(self, other) в Python позволяет определить поведение операт
Эффективное использование метода __iand__(self, other) Метод iand(self, other) в Python позволяет определить поведение оператора побитовой операции "и" с присваиванием (&=) для пользовательских классов. Этот метод полезен для выполнения битовых операций над данными, которые хранятся в пользовательских объектах. Метод iand является специальным методом, который позволяет реализовать операцию побитового "и" с присваиванием. Когда оператор &= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом операции. Использование метода iand позволяет легко реализовать операцию побитового "и" с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте. 🔗 Python tricks

Метод count() count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. По
Метод count() count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. Полезен при подсчете статистики, анализе данных и других задачах. Метод принимает в качестве аргумента элемент, количество которого нужно посчитать и возвращает число - количество найденных вхождений элемента. Работает для списков, кортежей, строк. 🔗 Python tricks

Protocol Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8. Этот класс дает строгий и ти
Protocol Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8. Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс. Сейчас используется в основном в стандартной библиотеке. На изображении предоставлен пример использования Protocol для определения простого протокола логгирования. 🔗 Python tricks

Эффективное использование метода __imod__(self, other) Метод imod(self, other) в Python позволяет определить поведение операт
Эффективное использование метода __imod__(self, other) Метод imod(self, other) в Python позволяет определить поведение оператора взятия остатка с присваиванием (%=) для пользовательских классов. Это полезно для работы с числовыми данными и структурами, где операции взятия остатка и обновления значений являются обычными задачами. Метод imod — это специальный метод, который позволяет реализовать операцию взятия остатка с присваиванием. Когда оператор %= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом операции. Использование метода imod позволяет легко реализовать операцию взятия остатка с присваиванием для пользовательских классов. Это делает код более чистым и удобным для чтения, а также улучшает производительность за счет изменения объектов на месте. 🔗 Python tricks