Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Создание таблиц в терминале Python

PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.

Устанавливается данный модуль стандартным способом через терминал, заглавной командой pip.

Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.

Модуль prettytable также способен влиять на различные параметры таблиц, производить сортировку данных и работать с html, при том не ограничиваться во взаимодействии с таблицами csv и sql.

#theory // Just Python
Эффективное использование метода ifloordiv(self, other)

Метод ifloordiv(self, other) в Python позволяет определить поведение оператора целочисленного деления с присваиванием (//=) для пользовательских классов. Это особенно полезно для работы с числовыми данными и структурами, где целочисленное деление и обновление значений являются обычными задачами.

Метод ifloordiv является специальным методом, который позволяет реализовать целочисленное деление с присваиванием. Когда оператор //= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом целочисленного деления.

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

#theory // Just Python
Пакеты в Python

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

На примере выше, тип импорта from package import* подключает необходимые модули и объекты, исходя из модуля `init.py`, или следует переменной all из того же модуля.

К слову, модуль `init.py` ранее отвечал за команду создания пакетов, но с модернизацией Python, он утратил данную необходимость, оставаясь при этом важной командой, включающей необходимый модуль.

#theory // Just Python
Функции sleep() и time()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.

Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд.

Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.

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

#theory // Just Python
Смешивание математики с дробями

В последнем примере мы принесем некоторые функции из математической библиотеки и смешаем их с дробными представлениями.

#theory // Just Python
Округление дробей

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

#theory // Just Python
Получение частей дробей

Можно получить только числитель или знаменатель дроби.

#theory // Just Python
Эффективное использование метода imatmul(self, other)

Ме
тод imatmul(self, other) в Python позволяет определить поведение оператора матричного умножения с присваиванием (@=) для пользовательских классов. Это полезно для работы с матрицами и другими структурами данных, поддерживающими матричное умножение, делая код более выразительным и эффективным.

Метод imatmul — это специальный метод, который позволяет реализовать матричное умножение с присваиванием. Когда оператор @= применяется к объекту, Python вызывает этот метод, позволяя изменить объект на месте в соответствии с результатом матричного умножения.

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

#theory // Just Python
Реализация операции вычитания на месте для пользовательского класса

Метод isub в Python используется для реализации операции вычитания на месте (оператора -=). Этот метод позволяет изменять объект "на месте", что может быть полезно для оптимизации производительности и управления памятью.

Рассмотрим пример, в котором у нас есть класс, представляющий пользовательский список чисел. Мы хотим поддерживать операцию вычитания на месте как с обычными числами Python (int), так и с другими экземплярами нашего класса.

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

#theory // Just Python
Расширение возможности операции побитового исключающего "или" для пользовательских объектов

Метод rxor в Python используется для реализации операции побитового исключающего "или" (оператора ^), когда операнд слева не поддерживает соответствующий метод xor. Этот метод полезен для работы с пользовательскими объектами, когда требуется поддерживать операцию побитового исключающего "или" с различными типами данных.

Рассмотрим пример, в котором у нас есть класс, представляющий пользовательские битовые данные, и мы хотим поддерживать операцию побитового исключающего "или" как с обычными числами Python (int), так и с другими экземплярами нашего класса.

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

#theory // Just Python
Сравнение быстродействия def и lambda-функций Python. Производные функции

Иными словами — функция второго уровня вложенности служит для многократного вызова и создания во время каждого функции третьего уровня вложенности.

#theory // Just Python
Сравнение быстродействия def и lambda-функций Python. Производные функции часть 2

А производная для функции построения графика — это же самая функция с определенными аргументами.

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

Вернёмся к первому. В случае проверки скорости создания функции, функция_для_замера() будет иметь одну цель — создать внутри себя def или lambda функцию. Её мы будем вызывать множество раз, и каждый раз она будет создавать одну и ту же функцию заново.

#theory // Just Python
Думаете, Биткоин золотая жила?

Чушь. В этом месяце выйдет 6 монет, который обгонят его годовой рост за неделю. Их список скоро выложат в канале Андрей Соколов.

Это блог трейдера, который за 5 лет начальные $10 тыс. превратил в $2 млн. Он находит монеты, которые взлетают в 3-5 раз в течение недели-двух и рассказывает о таких сделках в своем канале.

Все сделки, анализы и наработки публикует в своём блоге. Загляните сами. Ссылка удалится через сутки, имейте в виду 👇

Перейти в канал и посмотеть список самых перспективных монет на июнь →
Сравнение быстродействия def и lambda-функций Python. Производные функции часть 3

Слабонервным людям, ненавидящим многоуровневые вложения, не читать.

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

#theory // Just Python
locals() внутри метода

locals() внутри функции возвращает локальную переменную, обратите внимание, что глобальные переменные являются частью глобального словаря таблицы символов.

#theory // Just Python
Функция set union() в Python

В теории множеств set union() – это набор всех элементов в коллекции наборов. На следующем изображении показаны операции объединения наборов.

Класс set union() в Python предоставляет функцию union() для получения объединения наборов. Результатом является новый набор со всеми элементами из коллекции наборов.

#theory // Just Python
Добавление матрицы

Код для сложения матриц достаточно сложен для написания вручную. Благодаря модулю numpy мы можем просто использовать оператор + для добавления матрицы. Итак, в следующем примере кода мы увидим, как писать код сложения вручную, а также с помощью оператора +.

#theory // Just Python
Метод Naive

В методе Naive цикл for используется для обхода второго списка. После этого элементы из второго списка добавляются к первому списку. Первый список является объединением первого и второго списков.

#theory // Just Python
Профилирование и статистика кода

Какой разговор о профилировании питона обходится без описания cProfile — одного из стандартных модулей Python? Уверен, каждый программист Python хоть раз пробовал запустить cProfile.

#theory // Just Python
Создание мелких копий существующих списков

Создание мелкой копии означает, что копируется только структура элементов, но не сами элементы. Обе копии списка совместно используют одинаковые экземпляры отдельных элементов.

Если же вам необходимо продублировать абсолютно всё, включая и элементы, то необходимо создать глубокую копию списка (copy.deepcopy(x)). Для этой цели пригодится встроенный модуль в Python copy.

#theory // Just Python