Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
913 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
#Вопросы_с_собеседования
Как проверить файл .py на синтаксические ошибки, не запуская его?

Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.

Используется py_compile очевидно:
1. открываем командную строку/терминал.
2. переходим в каталог, содержащий файл .py, который вы хотите проверить
3. выполняем: python -m py_compile yourfile.py где yourfile.py - это имя файла, который вы хотите проверить.

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

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как это работает? — Рекурсия на примере факториала

Рекурсия — это техника, при которой функция вызывает саму себя. Функция факториала — классический пример использования рекурсии. Давайте разберём, как это работает.

➡️ Как это работает:

Если n == 0, функция возвращает 1 (базовый случай).
В остальных случаях функция вызывает саму себя с аргументом n - 1.
Результаты этих вызовов умножаются на текущее значение n.

Развернутый аналог:
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result


Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ tempfile.NamedTemporaryFile()

Метод tempfile.NamedTemporaryFile() из модуля tempfile создаёт временный файл, который автоматически удаляется при закрытии. Это удобно для временного хранения данных.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ abc.ABCMeta

Класс abc.ABCMeta из модуля abc используется для создания абстрактных базовых классов (Abstract Base Classes). Это позволяет определить методы, которые должны быть реализованы в подклассах, и предотвращает создание экземпляров базового класса.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Любимые подписчики, поздравляю вас с наступающим новым годом! Пусть в 2025 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🚫 Антипаттерн недели: Использование вложенных циклов для обработки больших данных

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

✔️ Используйте встроенные функции и методы, такие как zip, enumerate или библиотеку numpy, чтобы сократить количество циклов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🚫 Антипаттерн недели: Неоптимальная фильтрация данных через циклы

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

✔️ Используйте встроенные функции, такие как filter() или list comprehension, чтобы сделать код более читаемым и производительным.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ sys.getrefcount()

Метод sys.getrefcount() позволяет получить количество ссылок на объект. Это полезно для анализа работы сборщика мусора и управления памятью в Python.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ asyncio.gather()

Метод asyncio.gather() из модуля asyncio позволяет запускать несколько асинхронных задач одновременно и ожидать их завершения. Это удобный инструмент для работы с конкурентным выполнением задач.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ inspect.getclosurevars()

Метод inspect.getclosurevars() из модуля inspect позволяет извлечь значения замыканий из функции. Это полезно для анализа внутреннего состояния функций с замыканиями.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ weakref.WeakValueDictionary()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Друзья, на связи ваш админ.
Я тут сделал бота для знакомств @tinder. Буду рад, если вы оцените и воспользуетесь. Если буду какие-то замечания, пишите, буду благодарен)
Please open Telegram to view this post
VIEW IN TELEGRAM