❓Вы когда-нибудь хотели стать лучшей версией себя?
Применять SQLAlchemy эффективнее — быстрее, лучше, умнее!
23 декабря, 20:00 мск — открытый урок для Python-разработчиков.
📒Что делать, если методы, использующие SQLAlchemy и СУБД, тормозят? Когда оптимизация внутри SQLAlchemy — благо, а когда — беда? Как создать удобную панель администрирования поверх SQLAlchemy?
Спикер Дмитрий Панкрашов — ведущий разработчик в компании-партнере вендора СЭД «Директум».
🟢Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/SrB3/
Все участники открытого урока получат скидку на курс "Python Developer. Professional"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Применять SQLAlchemy эффективнее — быстрее, лучше, умнее!
23 декабря, 20:00 мск — открытый урок для Python-разработчиков.
📒Что делать, если методы, использующие SQLAlchemy и СУБД, тормозят? Когда оптимизация внутри SQLAlchemy — благо, а когда — беда? Как создать удобную панель администрирования поверх SQLAlchemy?
Спикер Дмитрий Панкрашов — ведущий разработчик в компании-партнере вендора СЭД «Директум».
🟢Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/SrB3/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
⚡3👍2❤🔥1🗿1
Метод
ast.literal_eval()
из модуля ast
безопасно вычисляет выражения Python из строки. Это полезно для обработки данных из текстовых файлов или ввода, где требуется парсинг структур данных, таких как списки, словари или числа.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤🔥2
Конкатенация строк через
+
в цикле создаёт множество временных объектов, что замедляет выполнение программы. Вместо этого используйте join()
.+
создаётся новый объект строки на каждом шаге.str.join()
, который работает быстрее, так как заранее выделяет память для итоговой строки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤🔥4
weakref.ref()
из модуля weakref
создаёт слабую ссылку на объект. Слабая ссылка не увеличивает счётчик ссылок объекта, позволяя ему быть удалённым сборщиком мусора, если больше нет сильных ссылок на него.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
memoryview()
— это встроенный метод Python, который позволяет работать с буфером данных без их копирования. Это полезно для работы с большими массивами данных, таких как байты или массивы, где важна производительность.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤🔥1🗿1
Пояснение
Counter из collections подсчитывает количество повторений каждого элемента в data. Значение для 'apple' равно 3. Для отсутствующего ключа ('grape') возвращается 0, а не KeyError.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔4❤🔥2
👍9🤔3
#Вопросы_с_собеседования
Как проверить файл .py на синтаксические ошибки, не запуская его?
Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.
Используется py_compile очевидно:
1. открываем командную строку/терминал.
2. переходим в каталог, содержащий файл .py, который вы хотите проверить
3. выполняем: python -m py_compile yourfile.py где yourfile.py - это имя файла, который вы хотите проверить.
Эта команда выполнит проверку файла и выведет описание любых синтаксических ошибок, которые были найдены, или пустой вывод, если ошибок нет.
Когда это может быть полезно? Например, если код большой и в процессе задействует много ресурсов, а нужно всего лишь удостовериться в его валидности.
Python Learning👩💻
Как проверить файл .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
👍14🍾4❤🔥3⚡1😁1
Рекурсия — это техника, при которой функция вызывает саму себя. Функция факториала — классический пример использования рекурсии. Давайте разберём, как это работает.
•
Если 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
👍24❤🔥3
Метод
tempfile.NamedTemporaryFile()
из модуля tempfile
создаёт временный файл, который автоматически удаляется при закрытии. Это удобно для временного хранения данных.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤🔥1
Класс
abc.ABCMeta
из модуля abc
используется для создания абстрактных базовых классов (Abstract Base Classes). Это позволяет определить методы, которые должны быть реализованы в подклассах, и предотвращает создание экземпляров базового класса.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤🔥3🏆2🆒2
Любимые подписчики, поздравляю вас с наступающим новым годом! Пусть в 2025 году исполнятся все ваши самые заветные желания🎄 🎄 🎄 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄68🍾12🔥8👍5❤🔥1
Вложенные циклы при обработке больших объёмов данных значительно снижают производительность, особенно если внутри вложенного цикла выполняются сложные операции. Это приводит к избыточному времени выполнения программы.
zip
, enumerate
или библиотеку numpy
, чтобы сократить количество циклов.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤🔥2
Использование обычных циклов для фильтрации данных в списках или других коллекциях может быть неэффективным и затрудняет читаемость кода. Это особенно актуально, когда в Python уже есть встроенные средства для таких задач.
filter()
или list comprehension
, чтобы сделать код более читаемым и производительным.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤🔥2
Пояснение
Аргумент message имеет значение по умолчанию "Hello". При вызове greet("Alice") используется значение по умолчанию, результат: Hello, Alice!. Во втором вызове передаётся ключевой аргумент message="Hi", поэтому результат: Hi, Bob!. Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Ответ:
Anonymous Quiz
8%
Hello, Alice!, Hello, Bob!
5%
Hi, Alice!, Hello, Bob!
83%
Hello, Alice!, Hi, Bob!
5%
Ошибка выполнения
👍14🤔5🍾3
Метод
sys.getrefcount()
позволяет получить количество ссылок на объект. Это полезно для анализа работы сборщика мусора и управления памятью в Python.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🎄3
Пояснение
Метод @property превращает radius в геттер, а метод @radius .setter добавляет проверку значения. Сначала radius возвращает 5, затем успешно устанавливается в 10. Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤🔥1
👍8🍾5❤🔥2
Метод
asyncio.gather()
из модуля asyncio
позволяет запускать несколько асинхронных задач одновременно и ожидать их завершения. Это удобный инструмент для работы с конкурентным выполнением задач.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥3❤🔥1