Pro Python • IT
4.16K subscribers
1.46K photos
148 videos
45 files
1.42K links
Pro Python — авторский канал с полезными советами, материалами и новостями по Python-программированию.

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
Применяем функцию к каждой паре соответствующих элементов из нескольких последовательностей

Функцию map() можно использовать с несколькими итерируемыми объектами.

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

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


Python Tech Code - подписаться
👍12✍2🔥2
Получаем абсолютный путь к файлу

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

В данном коде скрипта используются следующие методы:

os.path.abspath(__file__) - получаем абсолютный путь к текущему скрипту;

os.path.dirname() - извлекаем путь к директории, в которой располагается данный файл;

os.path.join() - используем для объединения пути к директории и имени файла.

Для запуска данного кода в интерактивном режиме, замените переменную __file__ на sys.argv[0].


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

Python Tech Code - подписаться
👍10🔥3❤2
🤔12👍6🔥6😎2🎉1
Создаем экземпляр класса на лету

В Python можно создавать экземпляр класса динамически с помощью функции type().

Синтаксис:

type('MyClass', (), {'attribute': 'value'})

Первый аргумент - это имя класса 'MyClass'.

Второй аргумент - кортеж базовых классов, который в данном случае пустой (класс не наследуется от других классов).

Третий аргумент - словарь атрибутов класса, который содержит атрибут 'attribute' со значением 'value'.


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

Python Tech Code - подписаться
👍14🔥5👏1
Математическое и арифметическое округление чисел

В Python для математического округления можно использовать функции math.ceil() (округляет число вверх до ближайшего целого числа) и math.floor() (округляет число вниз до ближайшего целого числа) из модуля math.

Суть математического округления заключается в том, что если дробная часть числа равна или больше 0.5, то число округляется вверх до ближайшего целого числа, а если дробная часть числа меньше 0.5, то число округляется вниз.


Функция round() в Python использует арифметическое округление.

При арифметическом округлении, если дробная часть числа равна 0.5, то число округляется к ближайшему четному числу.


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

Python Tech Code - подписаться
❤6👍5🤔2🔥1
Проверка синтаксиса файла до его выполнения

Модуль py_compile является стандартной библиотекой в Python. Он предоставляет функционал для компиляции файлов .py в байт-код и проверки синтаксических ошибок без необходимости фактического запуска скрипта.

Некоторые типичные синтаксические ошибки:

отсутствие двоеточия (:) в конце условия, цикла или определения функции;

неправильное количество аргументов у функции;

отсутствие закрывающей скобки, кавычки или другой парной конструкции;

неправильное использование операторов или ключевых слов;
ошибки в импортах модулей и др.


Модуль py_compile можно применять из командной строки:
python -m py_compile example.py


Python Tech Code - подписаться
👍10🔥5❤3
Что выведет этот код?
Anonymous Quiz
17%
0
21%
None
36%
3
17%
Ошибку
10%
Узнать ответ
😎9🤔4👍3😁3🎉1
Фильтрация данных по булевым значениям

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

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

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

Python Tech Code - подписаться
🔥6👍4❤2
Форматирование вывода чисел с плавающей точкой

Функция uniform() из модуля random в Python служит для генерации случайного числа с плавающей точкой в заданном диапазоне.

В этом примере использовано форматирование строки с помощью метода format(), где "{:.2f}" указывает, что необходимо ограничить количество знаков после запятой до двух.

Python Tech Code - подписаться
👍7🔥2❤1
Создаем дубликаты функции с заданными параметрами

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

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

В данном примере используем partial, чтобы создать новые функции man и woman, в которых фиксируем аргумент gender равный ‘мужчина’ и ‘женщина’ соответственно.


Использование partial помогает избежать дублирования кода и делает его более модульным.

Python Tech Code - подписаться
👍7🔥3❤1🆒1
🎉10🤔5😁4👍2
Определяем откуда запущен код

Метод isatty() в Python позволяет определить, связан ли текущий поток ввода/вывода с терминалом (консолью) или с другим устройством, таким как файл или канал.

Если метод возвращает True, это означает, что поток связан с терминалом, а если возвращает False, это означает, что поток связан с другим устройством.


Используя isatty(), можно узнать, в каком контексте запущен скрипт Python, и в зависимости от этого выполнить определенные действия или установить определенные параметры.

Этот метод полезен для определения типа потока ввода/вывода и адаптации работы программы или скрипта в зависимости от этого типа.

Python Tech Code - подписаться
👍7🔥2🫡1
Эффективный доступ к данным с помощью хеш-функции

Хеш-функция hash() в Python играет ключевую роль в создании хеш-таблиц и обеспечивает эффективный доступ к данным по ключу.

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

В Python хеш-таблицы реализованы в виде словарей (dict), что обеспечивает быстрый доступ к данным по ключу благодаря внутренней хеш-таблице.

Синтаксис:

hash(object)

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


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

Python Tech Code - подписаться
⚡13👍7🔥2
Формирование групп на основе ключевых значений

Функция groupby() в Python из модуля itertools позволяет группировать элементы последовательности на основе заданного ключа или функции.

Функция groupby() возвращает итератор, который генерирует пары (key, group_iterator), где:

key - ключ группировки, результат применения функции key к элементу;

group_iterator - итератор, содержащий все элементы из iterable, которые соответствуют данному ключу.


Необходимо помнить, что перед использованием groupby(), последовательность должна быть отсортирована по ключу, чтобы корректно сгруппировать элементы.

Python Tech Code - подписаться
🔥6👍3⚡1
Что выведет этот код?
Anonymous Quiz
38%
5
30%
5.0
11%
25.0
10%
Ошибку
11%
Узнать ответ
🔥6🤔6👏2
Перевод числа в шестнадцатеричный формат записи

Функция hex() используется для преобразования целых чисел из различных систем счисления в шестнадцатеричную форму.

Некоторые варианты применения:

отладка (для вывода шестнадцатеричного представления чисел при отладке программ);

конвертация (преобразование числа из разных систем счисления в шестнадцатеричные значения для дальнейшего анализа);

визуализация данных (иногда шестнадцатеричное представление удобно использовать при визуализации данных).


Функция hex() возвращает строку, а префикс 0x указывает на то, что строка представляет шестнадцатеричное число.

Python Tech Code - подписаться
👍5🔥3❤1