Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2019 14:11:13

vitormorev
Зарегистрирован: 2019-04-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Теория Питона

Ребята, не могу решить некоторые вопросы из теста. Буду признателен, если поможете.

A. Два или более объектов могут содержать внутри себя ссылки друг на друга, образующие цикл, что не позволяет сборщику мусора высвободить память из-под этих объектов, даже если других ссылок на эти объекты более нет. Как решить эту проблему?

1) Рефакторинг исходного кода.
2) Использование дескрипторов объектов.
3) “Обнуление” ссылок на другие объекты перед тем, как ссылающийся объект выходит за пределы текущей области видимости.
4) Принудительный вызов сборщика мусора.
5) Использование “слабых ссылок”, не препятствующих освобождению памяти.

B. Имеется n строк - s1, s2, …, sn. Какой способ позволяет наиболее просто и эффективно получить из этих строк первую непустую?
1) Выражение вида “str(s1, s2, …, sn)”.
2) Lambda-выражение.
3) Тернарная операция.
4) Выражение вида “s1 or s2 or .. or sn”.
5) Использование регулярных выражений.

C. Как зависит время операции добавления пары “ключ-значение” в словарь от размера последнего, если для всех используемых ключей метод “__hash__()” возвращает одно и то же значение?
1) Кубически (время пропорционально кубу размера словаря).
2) Линейно (время пропорционально размеру словаря).
3) Логарифмически (время пропорционально логарифму размера словаря).
4) Квадратично (время пропорционально квадрату размера словаря).
5) Время операции не зависит от размера словаря.

D. Какие объекты из модуля “mylib” не будут импортированы следующим выражением:
from mylib import *
1) Объекты, идентификаторы которых начинаются со знака подчёркивания (например, “_myobj”).
2) Объекты, идентификаторы которых начинаются и заканчиваются знаками подчёркивания (например, “_myobj_”).
3) Локальные объекты модуля mylib, объявлению которых не предшествует ключевое слово “global”.
4) Объекты, идентификаторы которых начинаются и заканчиваются двойными знаками подчёркивания (например, “__myobj__”).
5) Объекты, идентификаторы которых начинаются с двойного знака подчёркивания (например, “__myobj”).

Офлайн

#2 Май 3, 2019 19:07:30

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Теория Питона

А 6)это проблема уже решена, за счет использования более продвинутых алгоритмов подсчета ссылок (концепциях эпох, кажется так называется). ну а если оч хочется сдать именно этот тест, то 5) weakref
B 4)
C 5)
D ну уж это вы банально сами проверить можете.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version