Pythoner
7.21K subscribers
861 photos
27 videos
4 files
655 links
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику.

Сотрудничество - @flattys
Цены - @serpent_media

Канал на бирже: https://telega.in/c/pythonercode
Download Telegram
🐍В Python сериализация и десериализация используются для преобразования объектов Python в определенный формат (например, JSON, байтовый поток) и обратно. Эти процессы позволяют сохранять состояние объектов, передавать их через сеть, сохранять данные в файлы и многое другое.

💡С помощью сериализации и десериализации в Python можно удобно работать с данными в различных форматах и обмениваться ими между различными системами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥1
🐍Наследование в Python - это механизм, который позволяет создавать новые классы на основе уже существующих классов. Класс, который наследует свойства и методы от другого класса, называется дочерним классом, а класс, от которого наследуются свойства и методы, - родительским классом или суперклассом.

➡️Наследование позволяет создавать иерархию классов и повторно использовать код, уменьшая дублирование и упрощая структуру программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
⬆️Для подсчета количества строк в текстовом файле в Python можно воспользоваться следующим кодом

➡️В этом коде:
1. Мы указываем путь к текстовому файлу example.txt.
2. Открываем файл для чтения с помощью оператора with, чтобы автоматически закрыть файл после чтения.
3. Считываем все строки файла в список lines с помощью метода readlines().
4. Получаем количество элементов (т.е. количество строк) в списке lines с помощью функции len().
5. Наконец, мы выводим количество строк в файле.

💡Убедитесь, что файл example.txt находится в той же директории, что и ваш скрипт Python, или укажите полный путь к файлу в переменной file_path.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥1
🐍Библиотека Bottleneck является надстройкой над библиотекой NumPy и предоставляет оптимизированные функции для вычисления различных статистических показателей и операций над массивами данных в Python.

Некоторые особенности и возможности библиотеки Bottleneck:

➡️ Улучшенная производительность: Bottleneck предоставляет реализации некоторых функций из библиотеки NumPy, которые работают более эффективно и быстро благодаря оптимизации на уровне кода и использованию специализированных библиотек.

➡️ Работа с большими данными: Благодаря использованию оптимизированных алгоритмов и структур данных, Bottleneck может обрабатывать большие объемы данных более эффективно, чем стандартные функции NumPy.

➡️ Дополнительные функции: Bottleneck предоставляет некоторые дополнительные функции, которых нет в NumPy, например, рассчет медианы, накопленные суммы и изменяемые стандартные отклонения.

👀Использование Bottleneck может оказаться полезным при работе с большими объемами данных и когда требуется повысить производительность операций над массивами данных в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥1
Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Регистрируйтесь по ссылке: https://telega.in/c/pyth0n_er
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
4
🥸Я каждый день
Please open Telegram to view this post
VIEW IN TELEGRAM
16😁6💯2👍1🔥1
🐍В этом примере используется метод listdir() модуля os, который используется для вывода списка файлов в указанном каталоге.

⬆️В нашем случае os.listdir(directory) возвращает список файлов в указанном каталоге, а затем мы выводим их имена с помощью цикла for.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6🔥1
🐍Метод deepcopy() из модуля copy используется для создания глубокой копии объекта.

➡️Глубокая копия объекта создает новый объект и рекурсивно копирует все объекты, на которые он ссылается, чтобы создать полностью независимую копию исходного объекта.

➡️Использование copy.deepcopy() особенно полезно, когда вам нужно создать копию объекта, содержащего вложенные объекты, такие как списки в списке или словари в списке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥1
🐍Метод zfill() используется для дополнения строкового значения слева нулями до указанной длины.

💡Если исходная строка уже имеет равную или большую длину, то метод ничего не делает и возвращает исходную строку.

➡️Таким образом, метод zfill() полезен, когда вам нужно привести число к определенному формату с ведущими нулями.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6🔥1
🐍Команда «python -m timeit» в консоли используется для тестирования производительности фрагмента кода на Python путем многократного его выполнения и измерения времени выполнения.

➡️Она запускает модуль timeit, который является частью стандартной библиотеки Python.

➡️Это позволяет оценить производительность определенного участка кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1
🐍Метод strip() по умолчанию удаляет все пробельные символы с начала и конца строки.

➡️Если в метод strip() передать набор символов в качестве аргумента, он удалит все вхождения этих символов с обоих концов строки.

➡️Он возвращает новую строку, в которой все эти символы удалены.

💡Если нужно удалить символы только с одного конца строки, то можно использовать методы lstrip() (для удаления слева) и rstrip() (для удаления справа).
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3
🐍Метод encode() в Python преобразует строки в байтовые объекты, используя определенную кодировку (по умолчанию UTF-8).

➡️Если в строке есть символы, недопустимые в выбранной кодировке, возникает исключение UnicodeEncodeError.
При пустой строке метод вернет пустую последовательность байтов.

➡️Метод encode() создает новый объект байтов, представляющий исходную строку в выбранной кодировке, не изменяя исходную строку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥1
🐍Для динамического импорта модулей в Python можно использовать функцию import_module() из стандартной библиотеки importlib.

⬆️В данном примере код динамически импортирует модуль random и использует функцию sample() из этого модуля для выбора нескольких случайных элементов из списка.

➡️Обычно динамический импорт модулей применяется, когда имена модулей неизвестны на этапе написания кода, а определяются в процессе выполнения программы.
Например, на основе пользовательского ввода или конфигурационных данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65🔥2
🐍Существуют ситуации, когда при работе с терминалом необходимо выделить определенную информацию цветом. Один из способов — использовать ANSI Escape Codes.

➡️Символ \033 обозначает начало управляющего кода ANSI, [33;104m — это параметры, где 33 — желтый цвет текста, 104 — синий цвет фона, а [0m возвращает цвет текста в стандартный черный.

➡️Важно отметить, что поддержка ANSI Escape Codes может варьироваться в зависимости от используемой операционной системы и терминала.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥1
🐍Байтовые объекты - это объекты, которые хранят и обрабатывают данные в виде байтов, а не в виде символов.

➡️Байтовые объекты в Python представлены типом данных bytes и bytearray.

➡️Основное различие между ними заключается в том, что bytes является неизменяемым типом данных, в то время как bytearray - изменяемым.

➡️Синтаксис для байтовых литералов похож на строковые литералы, но с добавлением префикса "b", который указывает интерпретатору Python на то, что строка должна быть представлена в виде байтового объекта.

💡Эти объекты часто используются для работы с бинарными файлами, сетевыми пакетами и другими данными, которые нужно представить в виде последовательности байтов.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥1
🐍Декоратор @jit в библиотеке Numba используется для компиляции функции Python в машинный код с целью ускорения её выполнения, одновременно сохраняя гибкость работы с разнообразными типами данных благодаря динамичности компиляции.

➡️Этот результат достигается за счёт использования JIT-компиляции (just-in-time compilation), что означает, что код компилируется только тогда, когда он действительно требуется в процессе выполнения программы, а не заранее.

💡Однако важно помнить, что результаты использования Numba могут варьироваться в зависимости от конкретной задачи и данных. В некоторых случаях, особенно при работе с небольшими объемами данных, накладные расходы на компиляцию могут превысить выигрыш в скорости. Поэтому рекомендуется провести тщательное тестирование перед внедрением Numba в проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥3
🐍Функция mean() из модуля statistics в Python используется для вычисления среднего значения (средней арифметической) из последовательности чисел и принимает в качестве аргумента итерируемый объект.

➡️Однако стоит отметить, что statistics.mean() не работает со строками или другими нечисловыми типами данных. Если в вашей последовательности есть строки, вам нужно предварительно провести преобразование к числовому типу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
🐍Чтобы объект стал итерируемым, необходимо реализовать метод __iter__().
Метод __iter__() должен возвращать объект, который имеет метод __next__(), либо сам являтся итерируемым (итератором).

⬆️В этом примере при каждом вызове next() возвращается следующий элемент из data, пока не будет достигнут конец списка, после чего вызывается исключение StopIteration, что говорит о завершении итерации.

➡️Таким образом, реализуя методы iter() и next(), можем сделать свой объект итерируемым и использовать его в циклах for и других местах, где требуется работа с итерируемыми объектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
🐍Ошибка IndexError в Python возникает, когда происходит попытка обращения к элементу последовательности (списка, кортежа, строки и т. д.) с индексом, который выходит за пределы допустимого диапазона индексов.

➡️Например, если у нас есть список с пятью элементами, а мы пытаемся обратиться к элементу с индексом 5 или -1 (если индексация идет с 0), то будет сгенерирована ошибка IndexError.

💡Для предотвращения ошибки IndexError важно всегда учитывать допустимый диапазон индексов при обращении к элементам последовательности. Можно использовать условные проверки перед обращением к элементу, чтобы убедиться, что индекс находится в допустимом диапазоне.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1