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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Генераторные фунции (generator functions)

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

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.

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

Marshmallow — это легкая библиотека Python, предназначенная для преобразования сложных объектов в простые типы данных Python и обратно. Она широко используется для сериализации и десериализации данных, особенно в веб-приложениях.

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

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

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

UltraJSON — это высокопроизводительный модуль JSON для Python, который является альтернативой стандартному модулю json. Он оптимизирован для скорости и эффективности, делая его идеальным выбором для приложений, которым требуется высокая производительность при работе с JSON.

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

Zappa — это инструмент с открытым исходным кодом, который позволяет легко создавать, развертывать и обновлять веб-приложения Python (включая, но не ограничиваясь WSGI-приложениями) на AWS Lambda + API Gateway.

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

PyDy — это библиотека Python для динамического моделирования и управления роботами. Она позволяет создавать модели роботов, симулировать их движение и управлять ими.

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

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

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

Разъяснивший Python | ChatGPT
👍6
Методы сравнения объектов между собой (ч.1)

Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.

Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.

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

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

Разъяснивший Python | ChatGPT
Методы сравнения объектов между собой (ч.2)

Метод le(self, other) позволяет определить, каким образом объект вашего класса должен вести себя, когда сравнивается с другим объектом с помощью оператора "<=". Например, если вы хотите сравнивать объекты вашего класса по каким-то определенным критериям (например, по их атрибутам), вы можете переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other в соответствии с этими критериями, и False в противном случае.

Разъяснивший Python | ChatGPT
👍1
Классы данных

Data classes - это одна из новых функций Python 3.7. Благодаря data classes вам не нужно писать шаблонный код, чтобы получить правильную инициализацию, представление и сравнения для ваших объектов.

Здесь мы используем декоратор dataclass для того, чтобы автоматически сгенерировать методы init() и repr().
Теперь экземпляр класса Point имеет красивое строковое представление благодаря автоматически сгенерированному методу repr(). Также мы можем обращаться к полям x и y напрямую.

Разъяснивший Python | ChatGPT
👍61
Переопределение

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

Разъяснивший Python | ChatGPT
💩5
Атрибуты объекта

Атрибуты класса могут быть динамическими и статическими. На уровне объекта они инициализируются так.

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

Функция shape используется для получения размерности массива. Она возвращает кортеж, показывающий количество элементов в каждом измерении массива. Например, если у тебя есть массив arr размером (3, 4), то arr.shape вернет (3, 4), указывая на то, что у массива три строки и четыре столбца.

Разъяснивший Python | ChatGPT
Linux как секс!

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

В канале BashDays ты найдешь лучшие Linux и Bash практики. Действующий девопс-инженер, самобытно и с долей юмора, травит темы:

- Рекавери файлов через grep
- Почему коты гадят в макбуки
- Как отключить логирование
- Неочевидные трюки на Bash
- Сниффер SSH на strace

И это только цветочки. А если заскучал, поиграй с друзьями в piu-piu и надери им бэкенд. Рекомендую!

В BashDays даже джуны становятся сеньорами.

Подписывайся, это самый простой способ прокачать свои хард-скиллы: — @bashdays
💩2🤩1
NumPy: reshape

reshape() — это функция библиотеки NumPy, которая используется для изменения формы массива без изменения его данных. Она позволяет переформатировать массив в новую форму, указанную в аргументе функции. Например, если у тебя есть одномерный массив из 12 элементов, ты можешь использовать reshape() для преобразования его в двумерный массив размером 3x4 или 4x3.

Разъяснивший Python | ChatGPT
Методы сравнения объектов между собой (ч.1)

Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.

Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.

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

Метод dropna() используется в pandas для удаления строк или столбцов, содержащих пропущенные значения (NaN). По умолчанию метод dropna() возвращает новый DataFrame и не меняет исходный. Если ты хочешь изменить исходный DataFrame, используй аргумент inplace = True.

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

reshape() — это функция библиотеки NumPy, которая используется для изменения формы массива без изменения его данных. Она позволяет переформатировать массив в новую форму, указанную в аргументе функции. Например, если у тебя есть одномерный массив из 12 элементов, ты можешь использовать reshape() для преобразования его в двумерный массив размером 3x4 или 4x3.

Разъяснивший Python | ChatGPT
😐1
Методы сравнения объектов между собой (ч.2)

Метод le(self, other) позволяет определить, каким образом объект вашего класса должен вести себя, когда сравнивается с другим объектом с помощью оператора "<=". Например, если вы хотите сравнивать объекты вашего класса по каким-то определенным критериям (например, по их атрибутам), вы можете переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other в соответствии с этими критериями, и False в противном случае.

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

Метод dropna() используется в pandas для удаления строк или столбцов, содержащих пропущенные значения (NaN). По умолчанию метод dropna() возвращает новый DataFrame и не меняет исходный. Если ты хочешь изменить исходный DataFrame, используй аргумент inplace = True.

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