Python Tech Code • IT
3.88K subscribers
1.05K photos
119 videos
34 files
976 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
Повышаем скорость работы Python

Декоратор @jit в библиотеке Numba используется для компиляции функции Python в машинный код с целью ускорения её выполнения, одновременно сохраняя гибкость работы с разнообразными типами данных благодаря динамичности компиляции.

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

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


Для установки Numba можно воспользоваться командой:
pip install numba


Python Tech Code - подписаться
👍92🔥2👨‍💻1
Вычисление среднего значения

Функция mean() из модуля statistics в Python используется для вычисления среднего значения (средней арифметической) из последовательности чисел и принимает в качестве аргумента итерируемый объект.

Однако стоит отметить, что statistics.mean() не работает со строками или другими нечисловыми типами данных. Если в вашей последовательности есть строки, вам нужно предварительно провести преобразование к числовому типу.

Python Tech Code - подписаться
👍93💯1
Байтовые объекты

Байтовые объекты
- это объекты, которые хранят и обрабатывают данные в виде байтов, а не в виде символов.

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

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

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

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


Python Tech Code - подписаться
👍7🔥42
Что выведет этот код?
Anonymous Quiz
2%
None
11%
1
5%
4
10%
7
23%
64
19%
Ошибку
30%
Узнать ответ
👍11🫡62
Вывод цветного текста в терминал

Существуют ситуации, когда при работе с терминалом необходимо выделить определенную информацию цветом.
Один из способов — использовать ANSI Escape Codes.

В этом примере text1 выводится в красном цвете, а text2 - в желтом цвете на синем фоне.

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


Важно отметить, что поддержка ANSI Escape Codes может варьироваться в зависимости от используемой операционной системы и терминала.

Python Tech Code - подписаться
👍1032🔥1
Динамический импорт модулей

Для динамического импорта модулей в Python можно использовать функцию import_module() из стандартной библиотеки importlib.

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

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


Python Tech Code - подписаться
🔥8👍62
Фабричная функция

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

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

В этом примере select_prog является фабричной функцией, которая создает новый объект Prog.
Она может содержать логику выбора и создания конкретного типа объекта на основе переданных параметров или условий.


Python Tech Code - подписаться
👍63🔥2
👍15🔥13🤔6🎉2🫡2😎2🏆1
Преобразование строки в байты

Метод encode() в Python преобразует строки в байтовые объекты, используя определенную кодировку (по умолчанию UTF-8).

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

Метод encode() создает новый объект байтов, представляющий исходную строку в выбранной кодировке, не изменяя исходную строку.

В данном примере print() выведет:
b'\xd0\xad\xd1\x82\xd0\xbe Python'


Python Tech Code - подписаться
👍43🔥2
Удаление папки со всем ее содержимым

shutil.rmtree()
- это функция из стандартной библиотеки Python shutil, которая используется для удаления директории и всех файлов и поддиректорий, находящихся внутри нее.

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


Однако, следует быть осторожным при использовании shutil.rmtree(), так как операция удаления выполняется без возможности восстановления удаленных файлов или директорий.

Python Tech Code - подписаться
🔥7👍622
Виды кодировок символов

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

Некоторые из наиболее распространенных кодировок:

1. ASCII (American Standard Code for Information Interchange) - кодировка для представления основных символов латинского алфавита, цифр и специальных символов.

2. Unicode - это универсальная кодировка символов (символы из большинства письменных языков мира).

3. ISO 8859 - это семейство кодировок символов, каждая из которых предназначена для представления символов определенного языка.

4. Windows Code Page - это семейство кодировок символов для ОС Windows.

5. KOI8 - это кодировка символов, разработанная в СССР для представления символов кириллицы.

6. UTF-8 (UTF-16) - это переменной длины кодировка Unicode.

7. EUC-JP - это кодировка, для японского текста.


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

Python Tech Code - подписаться
👍6🔥32
🤔14👍104🔥2👨‍💻2
Создание неизменяемых структур данных

Так, namedtuple из модуля collections в Python позволяет создавать пользовательские типы данных, похожие на кортежи, но с именованными полями.

Синтаксис:

namedtuple('Имя', ['Поле1', 'Поле2', ...])

где:
'Имя' - это имя для создаваемого типа данных.

['Поле1', 'Поле2', ...] - это список имен полей, которые будет иметь созданный тип данных.


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

Python Tech Code - подписаться
🔥9👍21
Разбираем текст по частям речи

Для разбора текста по частям речи в Python можно использовать библиотеку для морфологического анализа текста pymorphy2.

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

Для установки pymorphy2 можно воспользоваться командой:
pip install pymorphy2


Основные значения, которые может принимать tag.POS:
NOUN - существительное;
ADJF - полное прилагательное (полное качественное прилагательное);
COMP - сравнительная степень прилагательного;
VERB - глагол;
PRTS - причастие (краткое);
GRND - деепричастие;
NUMR - числительное;
ADVB - наречие;
NPRO - местоимение-существительное;
PRED - предикатив;
PREP - предлог;
CONJ - союз;
PRCL - частица;
INTJ - междометие.


Каждое из этих значений указывает на определенную часть речи слова.

В данном пример будет выведено:
Жмем - VERB
сердце - NOUN
этому - ADJF
посту - NOUN


Python Tech Code - подписаться
22
Распознование кодировки символов

Библиотека chardet способна определить кодировку текста, анализируя его содержимое.

В данном примере строка кодируется в байтовую последовательность с помощью метода encode() и передается в функцию detect() из библиотеки chardet.

Функция detect() возвращает словарь,
{'encoding': 'ascii', 'confidence': 1.0, 'language': ''}

в котором ключ 'encoding' содержит название кодировки, а ключ 'confidence' показывает уверенность в правильности определения кодировки.

Установка библиотеки:
pip install chardet


Python Tech Code - подписаться
🔥6👍43👏1