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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
list.append()

В Python метод list.append() добавляет элемент в конец списка. Это самый простой способ динамически расширять список.

Разъяснивший Python
set.intersection()

В Python метод set.intersection() возвращает пересечение множеств, то есть элементы, которые присутствуют во всех переданных множествах. Это удобно для нахождения общих данных.

Разъяснивший Python
👍1
Полезные библиотеки Python

pdf2docx
— Python модуль для конвертации PDF документов в docx и дальнейшего редактирования.

Установка:
$ pip install pdf2docx


Разъяснивший Python
Использование pandas для быстрой работы с базами данных

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

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

Разъяснивший Python
👎3🤨1
Pandas: Агрегация и группировка данных

Группировка позволяет объединить строки по значениям в одном или нескольких столбцах и применить к ним агрегатные функции. Метод groupby создает группы по значению столбца Age и применяет функцию mean() для вычисления средней зарплаты в каждой группе.

Разъяснивший Python
👍1
Что такое магические методы dunder

Магические методы, также известные как «dunder» (double underscore) методы в Python, это специальные методы, которые начинаются и заканчиваются двойным подчеркиванием. Они позволяют определить, как объекты этого класса будут вести себя в различных контекстах, например, при использовании операторов Python, таких как +, -, *, / и т.д., при вызове функций и методов, при сериализации и многое другое.

Разъяснивший Python
👍1
Как начать отладку при утечке памяти в рабочем приложении

Для отладки утечек памяти в Python можно использовать инструменты, такие как Memory Profiler или objgraph.

Запустите вашу программу с помощью команды python -m memory_profiler my_noscript.py. Будет выведен подробный отчет о том, сколько памяти используется в каждой строке программы, а также общее использование памяти и любые утечки.

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

Разъяснивший Python
В каких ситуациях возникает исключение NotImplementedError

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

Разъяснивший Python
map()

В Python функция map() позволяет применить заданную функцию к каждому элементу итерируемого объекта, создавая новый объект с результатами. Это удобно для преобразования данных.

Разъяснивший Python
functools.partial

В Python функция functools.partial() позволяет создавать новую функцию с заранее зафиксированными значениями некоторых аргументов. Это удобно для упрощения вызовов функций с часто используемыми параметрами.

Разъяснивший Python
Использование метода __repr__ для удобного отображения объектов

Когда вы разрабатываете классы, бывает полезно сделать так, чтобы объекты этого класса имели осмысленное текстовое представление при выводе. Для этого можно переопределить метод repr, который отвечает за представление объекта в строковом виде.

Этот лайфхак будет полезен разработчикам, которые часто выводят объекты в отладочных целях. Вместо отображения стандартной информации о памяти (например, <Person object at 0x...>), вы получите наглядное описание объекта. Это улучшает читаемость кода, особенно при отладке и логировании.

Разъяснивший Python
👎1
Конструктор

Метод, который вызывается при создании объектов, в ООП зовётся конструктором. Он нужен для объектов, которые изначально должны иметь какие-то значение. Например, пустые экземпляры класса "Студент" бессмысленны, и желательно иметь хотя бы минимальный обозначенный набор вроде имени, фамилии и группы.

В качестве Питоновского конструктора выступает метод init()

Разъяснивший Python
👍2
functools.lru_cache

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

Разъяснивший Python
random.sample

Функция random.sample() из модуля random используется для случайного выбора уникальных элементов из последовательности (списка, строки, кортежа и т.д.) без повторений. Эта функция возвращает новый список с выбранными элементами.

Разъяснивший Python
Что делает метод .append()?

Метод .append() добавляет дополнительный элемент в конец уже существующего списка.

Разъяснивший Python
Наследование с использованием метода super()

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

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

Разъяснивший Python
👍2
Использование класса синглтон для создания единственного экземпляра

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

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

Разъяснивший Python
👍1
heapq.heappush() и heapq.heappop()

В Python модуль heapq предоставляет функции для работы с кучами (heap) — структурами данных для управления приоритетами. heappush() добавляет элемент в кучу, а heappop() удаляет наименьший элемент.

Разъяснивший Python
Использование метода @property для создания геттеров

В Python можно создавать геттеры и сеттеры для полей класса без явного объявления методов вроде get_name и set_name. Для этого используется декоратор @property, который позволяет обращаться к методу как к атрибуту, сохраняя при этом контроль над доступом к данным.

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

Разъяснивший Python
👍3
👩‍💻 Программирование — В С Ё

В 2024 году на кодинге уже не вывезешь, перспектива года - Информационная Безопасность.

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

👍 ZeroDay - Уроки, эксплуатация уязвимостей с нуля
👍 Белый Хакер - Свежие новости из мира ИБ
😎 Арсенал Безопасника - Все необходимые инструменты
😎 Бункер Хакера - Статьи, книги, шпаргалки и хакинг
👨‍💻 Серверная Админа - Настройка и уроки по компьютерным сетям

📂Вступай и изучай новое направление!
Please open Telegram to view this post
VIEW IN TELEGRAM
Использование абстрактных базовых классов (ABC)

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

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

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