Анализ работы функции add_element в Python
В точности приведённый код не запустится: add_element(new=['test4'], value2) содержит позиционный аргумент после именованного и вызывает SyntaxError. Поэтому ни один print не выполнится.
Читать ответПодготовка к интервью
1574 вопроса по Python с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Python — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: python, backend, database.
Каталог
В точности приведённый код не запустится: add_element(new=['test4'], value2) содержит позиционный аргумент после именованного и вызывает SyntaxError. Поэтому ни один print не выполнится.
Читать ответВ обычном CPython с GIL CPU-bound Python-код часто масштабируют процессами, а не потоками. Реальный прирост ограничивают последовательная часть алгоритма, передача данных и конкуренция за память.
Читать ответРазделите создание событий и их доставку: приложение пишет стабильные структурированные логи, а формат, уровни и handlers задаются конфигурацией. Часто проще отдавать JSON в stdout и адаптировать сборщик у заказчика.
Читать ответИзменяемый объект можно менять на месте, неизменяемый — нет. list и dict разрешены как аргументы по умолчанию, но создаются один раз при определении функции и затем разделяются между вызовами.
Читать ответНа низком уровне os.open/read/write работают с файловыми дескрипторами и байтами. io.FileIO даёт объектную обёртку, буферизованные потоки добавляют буфер, а текстовые — кодирование и обработку переводов строк.
Читать ответДобавление в dict обычно занимает амортизированное ожидаемое O(1). Отдельная вставка может быть O(n) из-за расширения таблицы или неблагоприятных коллизий, поэтому это не строгая гарантия для каждого вызова.
Читать ответstr.removesuffix(suffix) удаляет ровно указанный суффикс, если строка им заканчивается, и возвращает результат. Если совпадения нет, содержимое остаётся прежним; исходная строка не изменяется.
Читать ответСлабая связанность — свойство компонентов, а не автоматический выбор между потоками и процессами. В Python решение зависит от общих данных, изоляции, типа нагрузки и стоимости обмена.
Читать ответОбычный базовый метакласс Python — type. Классы являются его экземплярами, а type также можно вызвать с именем, базами и namespace для динамического создания класса.
Читать ответКонкурентность — организация нескольких продвигающихся задач, а параллелизм — их фактическое одновременное выполнение. asyncio может обеспечивать конкурентный I/O в одном потоке без параллельного выполнения Python-кода.
Читать ответPython строит MRO алгоритмом C3, сохраняя порядок родителей и согласованность их собственных порядков. TypeError возникает, когда эти требования противоречат друг другу и единую последовательность построить нельзя.
Читать ответЕсли * не заключена в кавычки, Bash обычно раскрывает её в имена подходящих файлов до запуска Python. Скрипт получает несколько аргументов, а не сам символ звёздочки.
Читать ответ