Разъяснивший 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
__repr__

При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:

>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>


Это сильно упрощает отладку. Вот всё, что вам нужно сделать:

class SomeClass:
def __repr__(self):
return "<какое-то описание>"

some_instance = SomeClass()

# выводит <какое-то описание>
print(some_instance)


Метод __repr__() позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод __str__() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.

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

Логирование помогает отслеживать выполнение кода и выявлять ошибки. Вместо того чтобы добавлять логирование вручную в каждую функцию, можно использовать декоратор, который автоматически будет логировать вызовы функций.

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

Разъяснивший Python | ChatGPT
👍3
Быстрая очистка текста от стоп-слов с использованием библиотеки NLTK

Стоп-слова (common words, такие как "и", "в", "на", "это" и т.д.) часто не несут значимой информации при анализе текстов. Удаление этих слов может значительно улучшить качество анализа текста, особенно в задачах машинного обучения и NLP (Natural Language Processing).

Этот лайфхак поможет быстро и эффективно очищать текстовые данные от стоп-слов, что особенно полезно для специалистов по обработке естественного языка, аналитиков данных и разработчиков машинного обучения. Удаление стоп-слов улучшает качество анализа текстов, что в свою очередь может улучшить результаты классификации текстов, анализа настроений и других задач NLP.

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

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

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

Разъяснивший Python | ChatGPT
👍1
Чтение больших файлов построчно с помощью итераторов

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

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

Разъяснивший Python | ChatGPT
Быстрое нахождение дубликатов в списке

Когда вы работаете с данными, часто возникает необходимость найти дубликаты в большом списке. В Python это можно сделать быстро и эффективно с использованием множества (set).

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

Разъяснивший Python | ChatGPT
1👍1
Цикл forEach

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

Разъяснивший Python | ChatGPT
🗿6🔥2🤨2👍1🤯1
Переименование файлов в Python

rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.

Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.

Также позволяет перемещать файлы между разными директориями.

Разъяснивший Python | ChatGPT
👍2
Точка входа в программу

Конструкция if name == 'main' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.

Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.

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

Разъяснивший Python | ChatGPT
👍2
Быстрое удаление дубликатов символов из строки

Иногда возникает необходимость удалить дублирующиеся символы из строки, оставив только уникальные. Этот лайфхак поможет сделать это быстро и эффективно.

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

Разъяснивший Python | ChatGPT
👍2
Быстрое форматирование и вывод JSON данных

Иногда нужно вывести JSON данные в удобочитаемом виде для отладки или анализа. Встроенная библиотека json позволяет легко форматировать и печатать JSON данные.

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

Разъяснивший Python | ChatGPT
👍2
statitstics.median high

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

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

Python — отличный скриптовый язык. Но иногда стандартные библиотеки os и subprocess вызывают только головную боль.

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

Библиотека sh поддерживает только платформы Linux и macOS; для работы на Windows вам придётся поискать другой инструмент.

Ссылочка на доку

Разъяснивший Python | ChatGPT
👍2👎2
Быстрое создание миниатюр изображений

Иногда требуется создать миниатюры (thumbnails) изображений, чтобы уменьшить их размер для предварительного просмотра. Это можно сделать легко с помощью библиотеки Pillow (PIL).

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

Разъяснивший Python | ChatGPT
👍2
Быстрое удаление дубликатов символов из строки

Иногда возникает необходимость удалить дублирующиеся символы из строки, оставив только уникальные. Этот лайфхак поможет сделать это быстро и эффективно.

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

Разъяснивший Python | ChatGPT
👍1
Многоточие в Python

Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:

>>> ...
Ellipsis


Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:

python        
def my_awesome_func():
...


Разъяснивший Python | ChatGPT
👍4
Быстрое создание миниатюр изображений

Иногда требуется создать миниатюры (thumbnails) изображений, чтобы уменьшить их размер для предварительного просмотра. Это можно сделать легко с помощью библиотеки Pillow (PIL).

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

Разъяснивший Python | ChatGPT
Быстрое форматирование и вывод JSON данных

Иногда нужно вывести JSON данные в удобочитаемом виде для отладки или анализа. Встроенная библиотека json позволяет легко форматировать и печатать JSON данные.

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

Разъяснивший Python | ChatGPT
👍1
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