Метод
functools.singledispatch
позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...)
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤🔥1
Метод
sys.setprofile()
позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥1
Как работает copy-on-write (COW) в Python и в каких случаях он применяется?
Ответ
Это помогает эффективно использовать память при работе с процессами, но может привести к неожиданным накладным расходам, если изменять большие объёмы данных после fork().
Пример использования
import os
data = [1] * 10**6 # Большой список
pid = os.fork()
if pid == 0: # Дочерний процесс
data[0] = 42 # Копирование происходит только здесь!
print("Дочерний процесс завершён")
else:
print("Родительский процесс")
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Пояснение
Функция enumerate() нумерует элементы списка. Параметр start=1 задаёт начало нумерации с 1, а не с 0, поэтому вывод будет 1 a, 2 b, 3 c. Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
👍16🎉3🏆2
contextlib.ExitStack
позволяет управлять несколькими контекстными менеджерами динамически.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
pathlib.Path.read_text()
— удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥3
Тест: узнай свой грейд и зарплату
1. Переходи в бота ШОРТКАТ @shortcut_py_bot
2. Ответь на пару вопросов о своём опыте работы
3. В зависимости от опыта команда сервиса предложит формат оценки грейда — тестирование или полноценное мок-интервью с опытным ментором
4. После ты узнаешь свой грейд и з/п в рынке — на основе опыта разработчиков из бигтеха
Если опыта работы у тебя совсем нет, можно попробовать пройти, но лучше тест сработает на тех, кто уже работает в разработке.
Пройти тестирование в ШОРТКАТ ➡️ @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxDrfCh
1. Переходи в бота ШОРТКАТ @shortcut_py_bot
2. Ответь на пару вопросов о своём опыте работы
3. В зависимости от опыта команда сервиса предложит формат оценки грейда — тестирование или полноценное мок-интервью с опытным ментором
4. После ты узнаешь свой грейд и з/п в рынке — на основе опыта разработчиков из бигтеха
Если опыта работы у тебя совсем нет, можно попробовать пройти, но лучше тест сработает на тех, кто уже работает в разработке.
Пройти тестирование в ШОРТКАТ ➡️ @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxDrfCh
👍3❤🔥1
sys.call_tracing()
позволяет выполнить функцию с заданными аргументами, включая трассировку вызовов, установленную через sys.settrace()
. Это полезно для профилирования и отладки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🤔1
Пояснение
Функция filter() применяет лямбда-функцию lambda x: x % 2 == 0, оставляя только чётные числа. В результате получаем [2, 4, 6]. Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
👍8🔥2
dataclasses.astuple()
преобразует объект dataclass в неизменяемый кортеж, что удобно для сериализации и работы с неизменяемыми структурами.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
is
при сравнении строкВ Python оператор
is
проверяет, ссылаются ли две переменные на один и тот же объект в памяти, а не равны ли их значения. Это может приводить к неожиданным ошибкам при сравнении строк.==
для сравнения значений строк, а не is
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥1
sys._current_frames()
позволяет получить стеки вызовов всех активных потоков в программе. Это полезно для отладки многопоточных приложений.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1
types.new_class()
позволяет динамически создавать новые классы во время выполнения программы. Это полезно для метапрограммирования, создания классов с динамическими атрибутами и автоматической генерации API.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
inspect.getgeneratorstate()
позволяет определить текущее состояние генератора. Это полезно при отладке и анализе работы генераторов в Python, чтобы понимать, активен ли генератор, завершён или ожидает ввода.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
🌐Хотите войти в IT, но программирование кажется сложным? Вы уже пробовали учить Python, но застревали на базах данных, не понимали, как работает асинхронный код, и бросали попытки?
Тем временем компании продолжают искать Python-разработчиков. Они нужны в веб-разработке, data science, автоматизации. Этот язык один из самых востребованных, и освоить его — значит получить реальный шанс на хорошую работу.
Есть решение. Обучение «Python Developer. Basic» — это пошаговый путь от первых строк кода до уверенного Junior-разработчика. Вы освоите FastAPI, Django, работу с API, научитесь писать автотесты и работать с DevOps-инструментами.
👉Начните с нуля и получите сильное портфолио. Пройдите тест и получите доступ к бесплатным урокам и скидку на обучение: https://otus.pw/XQqu/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Тем временем компании продолжают искать Python-разработчиков. Они нужны в веб-разработке, data science, автоматизации. Этот язык один из самых востребованных, и освоить его — значит получить реальный шанс на хорошую работу.
Есть решение. Обучение «Python Developer. Basic» — это пошаговый путь от первых строк кода до уверенного Junior-разработчика. Вы освоите FastAPI, Django, работу с API, научитесь писать автотесты и работать с DevOps-инструментами.
👉Начните с нуля и получите сильное портфолио. Пройдите тест и получите доступ к бесплатным урокам и скидку на обучение: https://otus.pw/XQqu/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
💔3👍2
sys.setswitchinterval()
позволяет управлять частотой переключения потоков в Python, изменяя временной интервал между переключениями контекста. Это полезно для настройки многопоточных программ.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
inspect.currentframe()
позволяет получить текущий стек вызовов и информацию о выполняемом коде. Это полезно для отладки, логирования и анализа исполнения программы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥1
Пояснение
Декоратор @lru_cache (maxsize=2) кэширует результаты вызовов функции fibonacci(n), ускоряя вычисления. fibonacci(5) рекурсивно вычисляет сумму fibonacci(4) + fibonacci(3), что даёт 5. Код выполняется без ошибок.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥2😁1