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

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
Явное переопределение методов

Декоратор override используется для явного указания переопределения методов в Python (импортируется из библиотеки typing).

В этом примере SubClass наследуется от BaseClass, и метод print_message переопределяется в SubClass.

При использовании декоратора override, Python будет проверять, действительно ли метод в подклассе переопределяет метод с таким же именем в родительском классе, и выдаст ошибку, если нет.


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

Python Tech Code - подписаться
👍9🔥4💯3
Получаем информацию о сети

Для получения информации о заданной сети и маске подсети IP-адреса, вы можете использовать объект типа IPv4Network в библиотеке ipaddress в Python.

Этот код позволяет создать объект IPv4Network, а затем вывести в консоль следующую информацию:

1. IP-адрес сети.
2. Маску подсети.
3. Обратную маску подсети.


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

Python Tech Code - подписаться
🔥13👍6❤2
Контроль над порядком элементов в словаре

OrderedDict в Python - это особый тип словаря, который сохраняет порядок, в котором элементы были добавлены в него.

В стандартном словаре dict порядок элементов не гарантирован и может меняться в зависимости от реализации и версии Python.

В этом примере мы создали OrderedDict и добавили элементы в определенном порядке.

При итерации по элементам с использованием метода items(), порядок элементов будет соблюден и выведен в том же порядке, в котором они были добавлены.


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

Python Tech Code - подписаться
👍11🔥2🫡2
Что выведет этот код?
Anonymous Quiz
27%
0 1 2
3%
1 2
12%
3
51%
Ошибку
7%
Узнать ответ
👍13🎉5😎5❤2🏆1
Элегантный способ вызова методов объектов

methodcaller в Python используется для создания функции, которая вызывает метод объекта с заданным именем.

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

Например, если у вас есть список объектов и вам нужно применить к каждому объекту определенный метод, вы можете использовать methodcaller для этой цели.


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

Python Tech Code - подписаться
🔥10✍4👍3❤2
Функция для вычисления перестановок

Функция math.perm() в Python используется для вычисления числа перестановок из n по k, то есть количества способов выбрать k элементов из n различных элементов с учетом порядка.

Вычисляется по формуле:
n! / (n-k)!


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

Python Tech Code - подписаться
👍10👨‍💻4🆒2😁1
Работа с временными файлами и директориями

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

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

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


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

Python Tech Code - подписаться
👍10🆒3❤2🔥2
👍9🔥4👨‍💻4😁2
Как избежать лишних вычислений

Декоратор cached_property из модуля functools предоставляет удобный способ создания кэшируемых свойств внутри классов.

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

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

Python Tech Code - подписаться
🔥8👍5⚡3🆒1
Подмена MAC-адреса в Windows

Для изменения MAC-адреса (физического адреса) сетевого интерфейса на системе под управлением Windows, можно использовать модуль subprocess для выполнения внешних команд.

Когда вызывается subprocess,run() с параметрами command, shell=False и check=True, это означает, что процесс выполнения команды netsh будет запущен без использования командной оболочки (shell=False), и в то же время будет выполнена проверка на завершение процесса с кодом ошибки (check=True).


Для успешной смены MAC-адреса, скрипт должен быть запущен с правами администратора.

Python Tech Code - подписаться
🫡9👍5❤3
Манипулирование временем

Декоратор freeze_time в Python используется для замораживания времени выполнения программы.

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


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

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

Python Tech Code - подписаться
🔥12👍4🆒3❤2
Глобальные и локальные переменные

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

globals() возвращает словарь, содержащий все глобальные переменные в текущей области видимости программы.

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

Python Tech Code - подписаться
👍9🫡5👨‍💻4🔥2❤1
Измерение скорости передачи данных

Speedtest-cli
– это эффективный инструмент для отслеживания скорости интернет-соединения.

У объекта класса Speedtest методы download() и upload() предоставляют информацию о скорости загрузки и выгрузки соответственно.

Эти методы возвращают результаты в байтах.


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

Установка библиотеки:
pip install speedtest-cli


Python Tech Code - подписаться
🔥8👍6🆒3❤2
Преобразование символов в числовые значения

Функция ord() в Python преобразует символ в его числовое представление в кодировке Unicode.

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

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


Стоит отметить, что значения, возвращаемые функцией ord(), могут варьироваться в зависимости от текущей локали и версии Python.

Python Tech Code - подписаться
🔥5👍4❤2🫡1
🔥16😘3⚡1