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

Ссылка: @Portal_v_IT

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

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

Библиотека Jedi предназначена для автодополнения и анализа кода. Она ускоряет процесс написания кода и делает его более продуктивным.

Если вы не разрабатываете свою IDE, то вам, наверное, будет более интересно использовать Jedi в качестве расширения редактора. К счастью, уже есть много вариантов.

Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.


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

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

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?

Тогда вам не обойтись без этого инструмента командной строки:

$ pip install howdoi


Задайте любой вопрос, и он постарается найти ответ на него:

$ howdoi vertical align css
$ howdoi for loop in java
$ howdoi undo commits in git


Но будьте осторожны: он извлекает код из топовых ответов на StackOverflow и не всегда даёт полезную информацию:

$ howdoi exit vim


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

Функция median из модуля statistics используется для вычисления медианы списка чисел. Медиана — это элемент, который делит упорядоченный список пополам. Если список имеет нечетное количество элементов, то медиана — это значение в середине списка. Если список имеет четное количество элементов, то медиана — это среднее значение двух центральных элементов.

Разъяснивший Python | ChatGPT
Использование collections.defaultdict для удобной работы со словарями

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

Использование collections.defaultdict позволяет упростить и сделать более чистым код, когда требуется работать с несуществующими ключами в словарях, автоматизируя их инициализацию и улучшая управление данными.

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

Функция math.isclose проверяет, находятся ли два числа близко друг к другу с учетом заданной относительной и абсолютной погрешности. a и b - числа, которые нужно сравнить. rel tol - относительная погрешность (по умолчанию 1e-09). abs tol - абсолютная погрешность (по умолчанию 0.0). Функция возвращает True, если числа находятся достаточно близко друг к другу, и False в противном случае.

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

Эта команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.
Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.

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

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

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

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

Метод extend() используется для добавления всех элементов из итерируемого объекта (например, списка, кортежа или строки) в конец другого списка. Этот метод позволяет объединить два списка или добавить несколько элементов в один список за один вызов.

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

Функция math.gcd используется для нахождения наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель (НОД) двух чисел — это наибольшее число, на которое оба числа делятся без остатка. В первом примере НОД чисел 48 и 18 равен 6, потому что 6 является наибольшим числом, которое делит и 48, и 18 нацело.

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

Функция math.gcd используется для нахождения наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель (НОД) двух чисел — это наибольшее число, на которое оба числа делятся без остатка. В первом примере НОД чисел 48 и 18 равен 6, потому что 6 является наибольшим числом, которое делит и 48, и 18 нацело.

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

Функция math.isclose проверяет, находятся ли два числа близко друг к другу с учетом заданной относительной и абсолютной погрешности. a и b - числа, которые нужно сравнить. rel tol - относительная погрешность (по умолчанию 1e-09). abs tol - абсолютная погрешность (по умолчанию 0.0). Функция возвращает True, если числа находятся достаточно близко друг к другу, и False в противном случае.

Разъяснивший Python | ChatGPT
Перегрузка операторов

В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.

На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.

Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.

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

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

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

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

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

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

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