Разъяснивший Python – Telegram
Разъяснивший Python
7.65K subscribers
2.82K photos
40 videos
30 files
2.71K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Data classes

Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:

возврат нескольких значений или словарей;
класс данных требует минимального количества кода;
возможность сравнения классов данных;
возможность распечатать класс данных для отладки при помощи repr;
снижение вероятности ошибок в связи с требованием класса данных type hints.

Разъяснивший Python | ChatGPT
Тернарный оператор

Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.

Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.

В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия a > b.
— Для присваивания переменной result одного из двух значений в зависимости от четности a.

Разъяснивший Python | ChatGPT
random.triangular

Функция random.triangular() используется для генерации случайных чисел из треугольного распределения. Треугольное распределение часто используется для моделирования сценариев, где значения имеют минимальные, максимальные и наиболее вероятные (режим) значения. Параметр low — нижняя граница (минимальное значение). По умолчанию 0.0. Параметр high — верхняя граница (максимальное значение). По умолчанию 1.0. Параметр mode — режим (наиболее вероятное значение). По умолчанию среднее значение между low и high.

Разъяснивший Python | ChatGPT
Обязательные аргументы

Для принудительного использования аргументов ставьте символ звездочки (*) перед ними, заставляя все аргументы стать ключевыми.

Разъяснивший Python | ChatGPT
Использование подчеркивания в REPL

Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:

>>> 3 * 3
9
>>> _ + 3
12


Прием работает и в оболочке IPython.

Разъяснивший Python | ChatGPT
😎2
statistics.mean

Функция mean из модуля statistics используется для вычисления среднего арифметического (среднего значения) списка чисел. Она принимает в качестве аргумента последовательность числовых данных (например, список или кортеж) и возвращает их среднее значение.

Разъяснивший Python | ChatGPT
👍2🦄1
Проверка необходимой версии Python

Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.

Разъяснивший Python | ChatGPT
👍1
Быстрая замена значений в столбце DataFrame на основе условий

Когда у вас есть DataFrame и вам нужно заменить значения в столбце на основе определенных условий, вместо использования циклов, можно воспользоваться методом np.where из библиотеки NumPy.

Этот лайфхак помогает заменить значения в столбце DataFrame на основе заданных условий, избегая использования циклов и делая код более читаемым и эффективным. Он будет особенно полезен для аналитиков данных и всех, кто работает с большими наборами данных, где требуется производить массовые изменения данных на основе условий.

Разъяснивший Python | ChatGPT
👍1
Простое измерение времени выполнения кода

Иногда бывает нужно измерить время выполнения кода для оптимизации или анализа производительности. Это можно сделать с помощью встроенного модуля time.

Этот метод позволяет легко и точно измерять время выполнения кода, что помогает выявлять узкие места и оптимизировать производительность.

Разъяснивший Python | ChatGPT
Декорируем функции

Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.

def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))


Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».

С помощью @print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.

Argument for add_one is 1

Разъяснивший Python | ChatGPT
raise

Конструкция raise используется для генерации исключений.
Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой raise.

Например:
raise ValueError('Invalid value')


Здесь мы генерируем исключение ValueError с сообщением об ошибке.

После генерации исключения выполнение текущего кода прерывается и происходит переход в блок try/except для обработки этой ошибки.
Если исключение не будет обработано — программа завершится с ошибкой.

В этом примере функция calculate_discount проверяет входные данные. Если скидка меньше 0 или больше 100 — с помощью raise генерируется исключение ValueError с сообщением.

Разъяснивший Python | ChatGPT
👍1
Декоратор для автоматического кэширования результатов функций

Кэширование — это техника, которая позволяет значительно улучшить производительность, сохраняя результаты вызовов функций и возвращая кэшированные результаты для одинаковых входных данных.

В Python можно создать декоратор, который автоматически кэширует результаты функций.

Разъяснивший Python | ChatGPT
statistics.mean

Функция mean из модуля statistics используется для вычисления среднего арифметического (среднего значения) списка чисел. Она принимает в качестве аргумента последовательность числовых данных (например, список или кортеж) и возвращает их среднее значение.

Разъяснивший Python | ChatGPT
math.copysign

Функция math.copysign используется для создания числа с абсолютным значением |x|, но с знаком y. Это означает, что math.copysign(x, y) возвращает число, которое имеет тот же знак, что и y, но абсолютное значение равно |x|. Это может быть полезно в математических вычислениях и программировании, особенно при работе с числами с плавающей точкой или в случаях, когда нужно сохранить определенный знак при преобразовании данных.

Разъяснивший Python | ChatGPT
statistics.median_low

Функция statistics.median low из модуля statistics вычисляет низкую медиану последовательности чисел. Низкая медиана используется в случае, когда список имеет нечетное количество элементов, и возвращает значение, которое находится в “нижней” половине списка, то есть среди наименьших значений. В данном случае список data содержит нечетное количество элементов, и низкая медиана будет равна 5, так как это наименьшее значение в “нижней” половине списка.

Разъяснивший Python | ChatGPT
Простое измерение времени выполнения кода

Иногда бывает нужно измерить время выполнения кода для оптимизации или анализа производительности. Это можно сделать с помощью встроенного модуля time.

Этот метод позволяет легко и точно измерять время выполнения кода, что помогает выявлять узкие места и оптимизировать производительность.

Разъяснивший Python | ChatGPT
👍1
Объединение нескольких CSV файлов в один

Когда у вас есть несколько файлов CSV с одинаковой структурой, часто нужно объединить их в один для дальнейшего анализа или обработки. Библиотека Pandas позволяет сделать это очень просто и быстро.

Этот метод позволяет быстро и эффективно объединять несколько CSV файлов в один, что значительно упрощает работу с большими наборами данных.

Разъяснивший Python | ChatGPT
Ленивая инициализация свойств с помощью дескрипторов

Дескрипторы в Python позволяют управлять доступом к атрибутам объекта.

С их помощью можно реализовать ленивую инициализацию свойств, что особенно полезно для дорогостоящих операций, которые нужно выполнять только при первом обращении к свойству


Разъяснивший Python | ChatGPT
👍1
list.insert

Метод insert() используется для вставки элемента в список на указанную позицию. Он позволяет добавить элемент в любое место списка, сдвигая текущие элементы вправо, чтобы освободить место для нового элемента.

Разъяснивший Python | ChatGPT
🤯1
tell()

Метод tell() используется для получения текущей позиции (смещения) при работе с файлами и файлоподобными объектами.

При открытии файла указатель текущей позиции находится в начале. По мере чтения/записи он смещается.
Чтобы узнать текущее значение этого смещения, применяется метод tell().

Это позволяет:
— Узнать размер файла, сравнив позицию после чтения с начальной.
— Вернуться к определенной позиции с помощью seek().
— Отслеживать прогресс обработки больших файлов.
— Получить позицию в строковых буферах и потоках байтов.

Метод tell() возвращает текущую позицию в файле в байтах от начала.

Разъяснивший Python | ChatGPT
statistics.median_low

Функция statistics.median low из модуля statistics вычисляет низкую медиану последовательности чисел. Низкая медиана используется в случае, когда список имеет нечетное количество элементов, и возвращает значение, которое находится в “нижней” половине списка, то есть среди наименьших значений. В данном случае список data содержит нечетное количество элементов, и низкая медиана будет равна 5, так как это наименьшее значение в “нижней” половине списка.

Разъяснивший Python | ChatGPT