Разъяснивший Python – Telegram
Разъяснивший Python
7.67K 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
Композиция (ассоциация) классов

Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.

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

Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.

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