Сертификат RetraTech "Программирование на Python 3.0" 2021
  • Сертификат RetraTech "Программирование на Python 3.0" 2021
Сертификат RetraTech "Программирование на Python 3.0" 2021
  • Сертификат RetraTech "Программирование на Python 3.0" 2021

Программирование на Python 3.0

850,00 руб.
В течение часа!
Экзамен Программирование на Python 3.0 для программистов и системных администраторов.
 
Сертифицированные специалисты RetraTech по программе «Программирование на Python» обладают отличными навыками программирования на языке Python, который уже давно стал стандартом среди разработчиков прикладного и системного программного обеспечения. Программист, прошедший данную сертификацию, владеет различными приёмами написания и отладки программ с использованием мощного объектно-ориентированного инструментального средства – языка высокого уровня Python.
Количество
Есть в наличии!

Вопросы: экзамен состоит из 40 вопросов.
Время: на его прохождение отводится 100 минут.
Проходной балл: 70% и выше.

Бумажная версия сданного сертификата заказывается на сайте RetraTech.
10000 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Итератор является объектом, позволяющим его использование в конструкции вида "for ... in ...". Какие методы должны быть обязательно определены в классе итератора?

__last__(self)

__del__(self)

__iter__(self)

__prev__(self)

__next__(self)


Укажите наиболее простые и верные способы копирования последовательности "x" в "y".

y = x.copy()

for i in x: y.append(i)

y = x[:]

y[:] = x[:]

y = x


Укажите методы, которые обязательно должны быть определены у "контекстных объектов (поддерживающих применение операции "with").

__repr__(self)

__enter__(self)

__new__(self)

__del__(self)

__exit__(self, exc_type, exc_value, traceback)


 

Какой метод позволяет переопределять освобождение памяти из-под экземлляра класса?

В языке Python нельзя переопределить метод освобождения памяти из под экземпляра класса.

__init__(self)

__del__(self)

__new__(cls)

__repr__(self)


Что возвращает метод "list.sort()"?

 Ничего.

Ссылку на исходный отсортированный список.

Ссылку на новый экземпляр tuple, являюищийся отсортированным списком.

Функцию.

Ссылку на новый отсортированный список.


Переопределение какого метода не предназначено для реализации арифметического сравнения объектов?

__eq__(self, other)

__lt__(self, other)

__ge__(self, other)

__qe__(self, other)

__ne__(self, other)

 

Возможно ли в языке Python скомипилировать или выполнить некоторый сторонний исходный код динамически?

Да, используя встроенную функцию "callable".

Нет.

Да, используя встроенную функцию "__import__".

Да, используя встроенную функцию "compile".

Да, используя операцию "import".

 

Какие фрагменты кода рекомендуется оснащать комментариями docstring? Выберите правильный вариант из списка ниже.

публичные модули и классы

публичные модули, функции, классы и методы

все классы и методы, включая "приватные"

все модули и классы, включая "приватные"

сложные фрагменты кода, требующие описания алгоритма


Как записать исходный код на языке Python в одну строку?

На языке Python этого сделать невозможно.

Разделять выражения с помощью символа ":" (двоеточие).

Разделять выражения с помощью символа ";" (точка с запятой).

Записывать исходный код в виде вложенных lambda-выражений.

Разделять выражения с помощью символа "," (запятая).


Какая ошибка содержится в следующем фрагменте кода?

Строка №2: не хватает аргумента "self".

Нет ошибок.

Строка №4: компилятор делает переменную "х" локальной в текущей области видимости, в результате чего в строке 3 она уже не может быть использована.

Строка №1: не указан явно тип переменной.

Строка №3: "x" ссылается на неинициализированную локальную переменную.

 

Каков будет результат выполнения следующего выражения?

b"" == ""

Генерация исключения TypeError

True

False

None

пустая строка


Какое значение примет переменная "а" в результате выполнения следующего выражения:

(*a, b, c) = range(3)

1

Никакое, произойдёт ошибка исполнения.

[0]

[0, 1, 2]


 

Какой идентификатор принято использовать в для первого аргумента статического метода для ссылки на объект класса этого метода, как, например, во встроенном методе "__new__"?

this

super

любой

cls

self

 


Найдите ошибку в следующем фрагменте кода:

Строка №7: нет доступа к атрибуту "__model" объекта "car"

В коде нет ошибки.

Строка №7: нет доступа к атрибуту "__model" объекта "self"

Строка №12: метод "__init__" должен получать 2 аргумента.

Строка №13: нет доступа к атрибуту "__model" объекта "opel1"


 

Каким образом в языке Python выделяется блок исходного кода?

С помощью ключевых слов BEGIN и END.

С помощью круглых скобок.

С помощью угловых скобок.

Форматированием отступами.

С помощью фигурных скобок.


 

Каков будет вывод следующего фрагмента кода?

а б в г

aа bб cц dд

a b c d

а б ц д

Вывода не будет по причине ошибки выполнения.


Какую операцию из предложенных не поддерживает структура данных типа "dict"?

Получение элемента по номеру позиции.

Получение элемента по ключу.

Пересечение множеств элементов.

Проверка того, что элемент принадлежит структуре данных.

Удаление элемента.


Какие из утверждений верны для языка Python?

Наследование классов не поддерживается.

Поддерживается наследование классов.

Поддерживается множественное наследование.

Исключения реализованы с помощью классов.

Множественное наследование классов не поддерживается.


 

Установка положительного целого значения какой переменной окружения позволяет интерпретатору Python выводить следующую дополнительную информацию?

  •   - о загрузке модулей;
  •   - о выгрузке модулей;
  •   - об имени и пути файла загружаемых модулей;
  •   - о проверяемых файлах при поиске модулей

PYTHONPATH

PYTHONVERBOSE

PYTHONINSPECT

PYTHONDEBUG

PYTHONHOME



Какое средство существует для дробной записи целых чисел в стандартной библиотеке Python 3?

тип complex

модуль complex

модуль fractions

тип fraction

тип real

 

 

Как эффективнее всего получить все экземпляры некоторого класса?

Используя встроенный метод "__instances__".

Используя собственный список ссылок на экземпляры в атрибуте объекта класса.

Используя собственный список "слабых" ссылок на экземпляры в атрибуте объекта класса.

Нельзя получить, так как ссылки на экземпляры приведут к утечке памяти.

Используя встроенный атрибут "__instances__" объекта класса.


 

Посредством какой структуры данных реализованы словари ("dict") в языке Python?

Очередь.

Массив изменяемого размера.

B-дерево.

Связный список.

Ассоциативный массив.


 

С помощью какой переменной окружения интерпретатор Python определяет путь для поиска пользовательских модулей?

CLASSPATH

PATH

PYTHONPATH

PYTHONHOME

MODULEPATH

 

 

Какое название сценария по умолчанию рекомендуется использовать для системы сборки и установки сторонних модулей и пакетов Python?

__init__.py

make.py

build.py

setup.py

main.py

 

Что понимается под названием "pure python module"?

Правильно организованный модуль, то есть содержащий необходимые файлы "__init__.py".

Модуль, содержащий исходные файлы только на языке Python.

Модуль, содержащий единственный исходный файл Python.

Модуль, не содержащий подмодулей.

Модуль, содержащий подмодули.


 

Каким способом можно создать декоратор функции или метода на языке Python?

Использовать анонимные классы внутри функции.

Использовать анонимные функции внутри функции.

Использовать функцию, принимающую нефиксированное количество аргументов.

Перед определением функции использовать выражение вида "@decorator", где "decorator" - правильный идентификатор.

Использовать функцию, принимающую в качестве аргумента объект функции.


Каков будет результат следующего выражения:

8 ** 2 // 3

 

64

21

4

16

Сообщение об ошибке


 

Каким целям служит документ PEP 8 (Python Enhancement Proposal #8)?

рекомендация разработчикам для оформления кода Python

спецификация стандартной библиотеки Python

спецификация языка Python 3

рекомендация разработчикам для расширения языка Python

описание механизма docstring

 

Какие способы обычно применяются для оптимизации алгоритмов, реализованных на языке Python?

Применение вызова операторов разрешения области видимости (".") в теле циклов.

Переписывание критичных модулей на языке С.

Избегание вызова операторов разрешения области видимости (".") в теле циклов.

"Ленивое" импортирование модулей - только при необходимости.

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


 

Что запишет в стандартный вывод следующий сценарий?

Занимаемый объём дискового пространства подкаталогами текущего каталога.

Занимаемый объём дискового пространства текущим каталогом.

Рекурсивный список всех файлов в текущем каталоге.

Список всех каталогов и файлов в текущем каталоге, содержащих в имени символ ".".

Список всех файлов в текущем каталоге.


 

Каким целям служит документ PEP 257 (Python Enhancement Proposal #257)?

рекомендация разработчикам для оформления кода Python

спецификация языка Python 3

рекомендация разработчикам для расширения языка Python

спецификация стандартной библиотеки Python

описание механизма docstring


Каков будет результат выполнения следующего фрагмента кода?

Вывод "hello4".

Вывод "hello1" бесконечное количество раз.

Вывод "hello2".

Вывод "hello3".

Ошибка выполнения.


В следующем фрагменте кода содержатся ошибки:

Укажите эти ошибки.

строка 1, первым аргументом должно быть ключевое слово "self"

строка 2, значение r должно быть здесь равным 0

строка 3, необходимо указать в качестве конечной границы значение "n+1" вместо "n"

строка 4, вместо операции умножения необходимо использовать сложение

строка 3, необходимо указать в качестве начальной границы число 1


 

В следующем фрагменте сеанса интерактивной оболочки Python информация второй строки оказалась утеряна:

Восстановите выражение испорченной второй строки, выбрав правильные варианты.

s[2:1:3]

s[:-1:2]

s[::2]

s[2::3]

s[2:-1:3]


Какие встроенные механизмы интроспекции предоставляет Python? Выберите верный вариант.

Получение всех атрибутов объекта, например с помощью функции "dir()".

Получение всех атрибутов объекта, информация о которых содержится в атрибуте "__attrs__".

Получение всех атрибутов объекта, например с помощью функции "help()".

В языке Python нет встроенных механизмов интроспекции.

Получение всех атрибутов объекта, информация о которых содержится в атрибуте "__doc__".

 

Посредством какой структуры данных реализованы списки ("list") в языке Python?

Массив изменяемого размера.

Стек.

B-дерево.

Связный список.

Ассоциативный массив.


 

Выполнение следующего кода приводит к генерации исключений:

Выберите действия, необходимые для исправления кода.

Сделать цикл в строках №10..12 конечным.

В строке №3 заменить "dequeue" на "queue".

Заменить тип "collections.deque" объекта "q" на синхронизированный "queue.Queue".
Также строки №26..27 заменить на конструкцию"q.join()".

Убрать строку №22.

В строке №7 заменить "i" на "item".


Каков будет результат следующего фрагмента кода:

1 x, y = 2, 5
2 f = lambda x**y if x > y else y**x
3 print(f)

 

10

Сообщение об ошибке

Такой же, как если бы вместо выражения в строке 3 было следующее "print(f.__repr__())"

32

25


 

Выберите правильный вариант идентификатора атрибута объектов, который должен сохранять в себе строку "docstring".

help

__doc__

docstring

doc

__docstring__

 

В случае добавления множества пар "ключ-значение" в словарь, где метод "__hash__" для всех ключей возвращает одно и то же значение, производительность операции добавления элементов в словарь значительно снижается. С помощью установки какой переменной окружения можно решить эту проблему?

PYTHONIOENCODING

PYTHONUNBUFFERED

PYTHONCASEOK

PYTHONOPTIMIZE

PYTHONHASHSEED


Требуется реализовать небольшой модуль расширения под названием "test" на языке Си. Какое название исходного файла на языке Си рекомендуется для реализации этого модуля?

test_py.c

testmodule.c

__test__.c

test_module.c

test.c


Укажите допустимый вариант ключа, используемого для получения значения из словаря.

Экземпляр list.

Экземпляр bytearray.

Экземпляр dict.

Экземпляр tuple.

Экземпляр set.


 

Требуется восстановить фрагмент кода в строке №5 для инициализации экземпляра синглетона:

Выберите правильные варианты этого фрагмента.

super(Singleton, cls).__new__(cls)

Singleton()

object(cls)

object.__new__(cls)

object.__init__(cls)

 

Какие два способа из перечисленных позволяют избежать ошибок приведения типов на языке Python?

Использование встроенной функции "isinstance(obj, cls)" для явной проверки типов в критических участках кода.

Тщательное проектирование.

Явное приведение типов в критических участках кода.

Функциональный стиль программирования.

Обеспечение покрытия юнит-тестами.



Найдите ошибку в следующем фрагменте кода, если она есть:

1 f = lambda x: x**x
2 print f

Синтаксис lambda выражения здесь не верен, так как нет выражения с ключевым словом "return".

"print" в версии Python 3.x является функцией, что требует написания строки 2 следующим образом: "print(f)".

Фрагмент кода верен.

Объект "f" не является строкой, поэтому вывод на экран к нему неприменим.

Операции "**" в языке Python не существует.


 

Что запишет в стандартный вывод следующий сценарий, если в качестве первого параметра командной строки ему передать имя существующего каталога файловой системы, например "X"?

Рекурсивный список всех файлов в каталоге X.

Рекурсивный список всех подкаталогов X, включая X.

Занимаемый объём дискового пространства каталогом X.

Занимаемый объём дискового пространства подкаталогами X.

Рекурсивный список всех подкаталогов X.

 

Каким образом следует определять статический метод на языке Python?

Использовать декоратор "@staticmethod".

Первый аргумент метода - "self" - должен принимать значение объекта класса, а не экземпляра.

Использовать ключевое слово "static".

На языке Python не может быть статических методов.

Не использовать "self" в качестве аргумента метода.

 

Каков будет вывод следующего фрагмента кода?

except

try

try finally

try except finally

try except


 

Каков будет результат выполнения следующего выражения?

(1, 2, 3)[0] = 0

Ошибка: тип данных list не поддерживает присваивание элементов

Ошибка: выход за пределы массива

Добавление элемента со значением "0" в нулевую позицию структуры данных

Ошибка: тип данных tuple не поддерживает присваивание элементов

Первый элемент структуры данных станет равным 0

 

Каким образом регламентируются реализации языка Python и его развитие?

На основе спецификаций ANSI.

На основе спецификаций W3C (WWW Consortium).

На основе базовой реализации - CPython.

Реализации языка Python и его развитие - не регламентируются.

На основе документов PEP (Python Enhancement Proposal).


 

Чем отличаются типы данных "bytes" и "bytearray"?

В отличие от объекта типа "bytearry", у объекта типа "bytes" можно получить элемент по значению ключа.

В отличие от объекта типа "bytearray", объект типа "bytes" является неизменяемым.

В отличие от объекта типа "bytearray", у объекта типа "bytes" нельзя получить элемент по номеру позиции.

Объект типа "bytes" имеет символьное представление содержания, а объект типа "bytearray" - численное.

Объект типа "bytes" имеет численное представление содержания, а объект типа "bytearray" - символьное.

 

Как зависит время операции обращения к элементу словаря ("dict") по значению ключа от размера словаря?

Квадратично (время пропорционально квадрату размера словаря).

Линейно (время пропорционально размеру словаря).

Логарифмически (время пропорционально логарифму размера словаря).

Кубически (время пропорционально кубу размера словаря).

Время операции не зависит от размера словаря.

 

Какой аргумент метода некоторого экземпляра используется для передачи в метод ссылки на этот экземпляр?

this

super

любой

cls

self

 

Какой из способов позволяет сделать объект наиболее подходящим для сериализации?

Определить метод "__ser__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод "__str__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод, сохраняющий значение переменных объекта в файле.

Определить метод "__hash__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод "__repr__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.


Каков будет результат выполнения следующего кода?

Вывод "m"

Ошибка выполнения.

Вывод "None"

Вывод "False"

Вывод "True"


 

Возможно ли в языке Python сделать произвольную функцию методом класса во время выполнения (то есть динамически)?

Да, используя для этого декоратор "callable".

Нет.

Да, используя для этого изменяемый список атрибутов класса.

Да, используя для этого декоратор (или встроенную функцию) "classmethod".

Да, используя для этого изменяемый список методов класса.

 

Выберите верное утверждение, описывающее приём реализации метакласса в языке Python.

Создать класс, наследующий класс "type".
Экземпляры такого метакласса должны быть наследуемыми классами для остальных.

Создать класс, наследующий класс "type".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "class".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "object".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "object".
Такой метакласс должен быть наследуемым для остальных классов.


 

Некоторый модуль M1 запускается при помощи командной строки следующим образом:

$ python -m M1 ARG1 ARG2

В этом модуле используется значение sys.argv[0]. Каким будет это значение в данном случае?

"python -m M1 ARG1 ARG2"

ARG1

None

False

M1


 

Какие пространства имён определены в любом месте кода Python?

Корневое

глобальное

встроенное

локальное

определённое конструкцией с ключевым словом "namespace"


 

Выберите верный и наиболее эффективный способ получения списка результатов (переменная "r") применения ф-ции "transform(e)" к элементам последовательности "e_seq", где "е" - элемент последовательности.

for e in e_seq: r.append(transform(e))

r = transform(e_seq[:])

r = transform(e in e_seq)

r = transform(e_seq[0:len(e_seq)-1])

r = [transform(e) for e in e_seq]

 

 

Каков результат применения встроенной функции "dir()", если в качестве аргумента ей передать объект?

Список всех атрибутов объекта, кроме тех, чьи идентификаторы начинаются и заканчиваются двойными подчёркиваниями.

Список всех атрибутов объекта.

Каталог на файловой системе, в котором был сохранён этот объект.

Относительный путь в подмодулях.

Список всех атрибутов объекта, если объект не имеет метода "__dir__(self)", переопределяющего результат.


 

Выберите поддерживаемые языком Python парадигмы программирования (без применения сторонних расширений).

логическая

функциональная

аспектно-ориентированная

объектно-ориентированная

компонентная

 

 

Каков будет результат следующего выражения?

{x for x in "abracadabra" if x not in "abc"}

Ошибка выполнения.

{'r', 'd'}

{'a', 'b', 'c'}

None

False

 

 

Выберите правильные варианты, характеризующие поведение логических операций в языке Python.

В языке Python есть тернарная операция.

Бинарные логические операции всегда вычисляют оба операнда.

Бинарные логические операции ленивы, то есть для вычисления всего результата иногда достаточно вычисления первого же операнда,
что и используется в Python.

В языке Python нет тернарной операции.

В Python нет оператора "xor".


 

Требуется класс Element, объекты которого могли бы хранить атрибуты подобно встроенному типу dict:

attr_name, attr_value = "cx", "50%"
el = Element("circle")
el[attr_name] = attr_value

Выберите возможные варианты реализации такого поведения класса.

Класс "Element" должен наследовать встроенный класс "tuple".

Класс "Element" должен наследовать встроенный класс "dict".

Класс "Element" должен иметь определение метода "__set__(self, instance, value)".

Класс "Element" должен иметь определение метода "set(self, key, value)".

Класс "Element" должен иметь определение метода "__setattr__(self, key, value)".

 

Объект, содержащий в себе пару чисел, описывается следующим образом:

pair = (-1.0, 2.5)

Требуется получить строку вида "x=<X>, y=<Y>", где вместо <X> и <Y> будут подставлены соответствующие значения из объекта pair. Какой способ позволяет это сделать наиболее эффективно?

result = "x={0}, y={1}".format(pair)

result = "x={0[0]}, y={1[1]}".format(*pair)

result = "x={0}, y={1}".format(pair[0]. pair[1])

result = "x={0[0]}, y={1[1]}".format(pair)

result = "x={0[0]}, y={0[1]}".format(pair)

 


Стандартная библиотека Python 3 не включает в себя:

Криптографические средства.

Обеспечение многопоточности.

POSIX API.

Средства обработки XML DOM.

Графический интерфейс Qt.


 

Какова типичная причина возникновения циклических зависимостей модулей?

Ограничения предметной области.

Ошибки кодирования.

Ошибки рефакторинга.

Ошибки проектирования.

Особенности синтаксиса языка Python.


Каким образом можно добиться того, чтобы скрипт Python импортировал собственный модуль? Укажите верный вариант строки кода, делающей это.

__import__(self)

__import__(__name__)

в языке Python этого сделать нельзя

import self

import __name__

 

Каков будет результат выполнения следующего фрагмента кода?

Генерация исключения в строке №10.

Генерация исключения в строке №11.

Вывод "x".

Генерация исключения в строке №13.

Вывод "y".


Какой вариант отступов ("индентации") кода рекомендуется использовать для форматирования кода Python?

только пробелы

только табуляция

одинаковые отступы размером 4 пробела

возможно использование различных отступов в одном и том же исходном файле

одинаковые отступы размером 8 пробелов

 


Выберите формат хранения данных, не поддерживаемый стандартной библиотекой Python 3.

CSV

JSON

Berkley DB

YAML

XML

 

Какой псевдо-модуль предназначен для импортирования новейших возможностей языка Python, ещё не вошедших в текущую версию?

future

importlib

__future__

imp

time


 

Укажите недопустимые способы вызова функции "myfunc":

MyClass.f()

v.f()

В теле метода объекта класса "MyClass":
self.f()

В теле метода объекта класса "MyClass":
myfunc(self)

myfunc(v)

 

Укажите недопустимый способ вызова функции "myfunc":

myfunc(v)

В теле метода объекта класса "MyClass":
self.__f()

v.__f()

v._MyClass__f()

В теле метода объекта класса "MyClass":
myfunc(self)

 

Какое значение вернёт функция "f" при её вызове?

2

5

4

1

3

 


В файле исходного кода Python встретилась следующая последовательность операций:

...

x, y = int(5), int(0)

z = x/y

if z==0:

...




При этом, известно, что условие (в конце приведённого фрагмента) всегда выполняется и интерпретатор продолжает выполнение внутри блока этого условия.
Каким образом это могло быть реализовано?

Определён собственный класс "int", переопределяющий метод "__truediv__".

Определён собственный класс "int", переопределяющий метод "__floordiv__".

Определён собственный класс "int", переопределяющий метод "__divmod__".

Определён собственный класс "int", наследующий встроенный "int".

Никаких дополнительных действий для реализации не потребовалось.

 


Выберите верный и наиболее эффективный способ конкатенации строк, находящихся в последовательности "slist".

for s in slist: r += slist

r = concat(slist)

r = "".join(slist)

r = "".concat(slist)

r = slist[0] and slist[1] and ...and slist[en(slist)-1]

 

Какие ошибки содержатся в следующем фрагменте кода?

В строке №2 вместо ковычек должны быть апострофы.

В строке №7 вызов функции "print" не имеет аргументов.

В строке №2 вместо двойных ковычек должны быть одинарные.

В строке №2 вместо двойных ковычек должны быть тройные.

В строке №1 пропущено ключевое слово "def".

 

Какие лексемы не являются объектами в языке Python?

Функции и методы.

Переменные.

Все операторы.

Классы и модули.

Экземпляры классов.

 

В стандартной поставке Python есть утилита "pdb". Что она из себя представляет?

Система резервного копирования.

Система контроля версий.

Система управления базами данных.

Отладчик.

Портированный для запуска в ОС Linux интерпретатор языка.


 

Для чего применяется lambda-выражение в языке Python?

Создание приватных функций модулей.

Создание функций и методов с нефиксированным числом аргументов.

Создание приватных методов классов.

Создание декораторов функций и методов.

Создание анонимных функций.

 

Использование чего позволяет на языке Python наиболее просто и эффективно реализовать тип данных, подобный структурам в языке C и типу "record" в языке Pascal?

Класса.

Кортежа ("tuple").

Словаря ("dict").

Списка ("list").

Пустого класса.

 

 

Как наиболее эффективно преобразовать исходный код, написанный для Python версии 2.х в исходный код для Python 3.x?

Требуется полностью "ручной рефакторинг" кода, так как Python3 не имеет обратной совместимости с Python2.

Переписать исходный код "с нуля".

Требуется реализовать собтсвенную утилиту, автоматизированно преобразующую исходный код.

Используя утилиту "2to3".

Используя какую-либо из множества сторонних утилит, которые несложно найти в интернете.

 

 

В какой кодировке хранят текст объекты типа "str" в языке Python3?

CP1251

В Python3 нет типа данных "str".

ASCII

Unicode

UTF-8


 

Некоторый класс "MyClass" наследует другой класс "Basic". В конструкторе класса "MyClass" требуется вызвать конструктор базового класса и передать ему аргумент "id". Каким образом это следует сделать?

Basic(self, id)

self.__init__(Basic, id)

super(id)

Basic(self, id)

Basic.__init__(self, id)


 

Найдите ошибки в следующем фрагменте исходного кода:

Строка №14: поток можно запустить лишь один раз.

Строка №11: "yield" в Python 3.x является функцией.

Строка №6: инициализация базового класса выполняется неверно.

Строка №7: нельзя запустить поток в этом состоянии (в конструкторе).

Строка №11: неверное применение операции "yield" - она не приостанавливает поток.

 

 

Вызов функции list(range(...)) с некоторыми параметрами даёт следующий результат:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Определите правильные варианты использования параметров функции range:

range(0, 11)

range(11)

range(0, 10)

range(0, 10, 1)

range(10)


 

Какое выражение должно содержаться в теле определения пустого класса?

return

pass

self

Никакое.

None


Какой метод позволяет переопределять очистку (деструкцию) экземлляра класса?

__repr__(self)

__new__(cls)

__init__(self)

__del__(self)

В языке Python невозможно переопределить метод очистки экземпляра класса.

 

 

Какой метод позволяет переопределять инициализацию (конструкцию) экземлляра класса?

__repr__(self)

__new__(cls)

__del__(self)

__init__(self)

В языке Python невозможно переопределить метод инициализации экземпляра класса.



Что такое генератор?

Класс, предназначенный для получения экземпляров итераторов.

Результат, возвращаемый функцией (методом) итератора.

Выражение, содержащие инструкцию "yield".

Класс, переопределяющий метод "__next__".

Функция (или метод), возвращающая итератор для некоторого объекта.


 

Какими способами из перечисленных можно создать объект, вызываемый как функция?

Любой объект можно вызвать, как функцию.

Определить обычную функцию, её идентификатор можно использовать как объект.

Определить объект как переменную, используя ключевое слово "lambda".

Класс объекта должен наследовать встроенный класс "function".

Определить в классе объекта метод "__call__(self, ...)".

 

 

 

 

Каков будет результат выполнения следующего фрагмента кода?

Вывод:
y
x

 

Вывод:
y
y

 

Генерация исключения в строке №12.

 

Вывод:
x
y

 

Вывод:
x
x


 

В результате выполнения следующего фрагмента кода, конструкция в строке №16 выводит "hello world":

Каков будет результат выполнения конструкции в строке №18?

Не выведет ничего.

Вывод наподобие следующего: "".

Вывод "None".

Генерация исключения "AttributeError" вследствие обращения к объекту типа "NoneType".

Вывод "hello world".

 

Как получить "словарь" (типа "dict") всех импортированных модулей?

С помощью встроенной функции "dir()".

Можно получить из "sys.path[1]".

Можно получить из "sys.path[0]".

Можно получить из "sys.modules".

С помощью встроенной функции "imported_modules()".


 

Для некоторого класса "MyClass" требуется создать юнит-тест. Выберите действия, необходимые для того чтобы достичь этого.

Использовать модуль doctest.

Определить конструктор в классе юнит-теста.

Определить методы "setUp(self)", "tearDown(self)" в классе юнит-теста.

Создать класс с названием "MyClassTestCase", наследующий класс unittest.TestCase.

Определить методы с сигнатурой вида "test_xxx(self)" в классе юнит-теста.



В какой кодировке хранят текст объекты типа "unicode" в языке Python3?

UTF-16

Unicode

UTF-32

UTF-8

В Python3 нет типа "unicode".


 

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

Принудительный вызов сборщика мусора.

"Обнуление" ссылок на другие объекты перед тем как ссылающийся объект выходит за пределы текущей области видимости.

Рефакторинг исходного кода.

Использование "слабых ссылок", не препятствующих освобождению памяти.

Использование дескрипторов объектов.

 


Есть n строк - s1, s2, ..., sn. Какой способ позволяет наиболее просто и эффективно получить из этих строк первую не пустую?

Тернарная операция.

Использование регулярных выражений.

Выражение вида "str(s1, s2, ..., sn)".

Lambda-выражение.

Выражение вида "s1 or s2 or .. or sn".


 

Выберите рекомендуемые и верные синтаксически способы записи объявления структур данных.

lst = [ 1: "один", 2: "два", 3: "три", ]

d = { 1: "один", 2: "два", 3: "три", }

lst = [ 1: "один", 2: "два", 3: "три" ]

 

t = (
  "один",
  "два",
  "три",
)

 

d = { 1: "один", 2: "два", 3: "три" }

 

Какие варианты типизации реализованы в языке Python?

строгая неявная типизация

слабая ("утиная") типизация

строгая явная типизация

динамическая типизация

статическая типизация


 

Какой метод позволяет перехватывать создание экземлляра класса?

__init__(self)

__repr__(self)

В языке Python невозможно перехватить создание экземпляра класса.

__new__(cls)

__del__(self)


1  phone_book = {

2      "Andrey": "643-733",

3      "Boris": "754-844",

4      "Dmitriy": "837-784"

5  }

...

n  phone_number = <phone_numbers, "Boris">

 


Укажите правильный вариант используемой операции для строки n вместо выражения в угловых скобках так, чтобы в случае, когда phone_numbers не содержит требуемого ключа, не генерировалось бы исключение KeyError.

phone_book["Boris"] if "Boris" in phone_book else None

phone_book["Boris"]

phone_book["Boris"] if phone_book.has("Boris") else None

phone_book["Boris"] if phone_book.has_key("Boris") else None

phone_book.get("Boris")


 

Какой стандартный инструмент применяется для сборки и установки сторонних модулей Python?

apt

ant

distutils

rpm

make


 

Выберите правильный вариант тернарной операции на языке Python.

<ВЫРАЖЕНИЕ1> if <УСЛОВИЕ> else <ВЫРАЖЕНИЕ2>

<УСЛОВИЕ> ? <ВЫРАЖЕНИЕ1> : <ВЫРАЖЕНИЕ2>

(<УСЛОВИЕ>) ? <ВЫРАЖЕНИЕ1> : <ВЫРАЖЕНИЕ2>

<ВЫРАЖЕНИЕ1> or <ВЫРАЖЕНИЕ2> or <ВЫРАЖЕНИЕ2>

В языке Python не предусмотрено конструкции для тернарного выражения.


 

Каков будет вывод следующего скрипта?

__main__

__self__

ничего, интерпретатор выдаст синтаксическую ошибку

имя текущего модуля

имя файла запущенного скрипта

 

Какие встроенные типы данных изначально поддерживают итераторы?

Int

dict

str

tuple

list

 

Как зависит время операции добавления пары "ключ-значение" в словарь от размера последнего, в случае, если для всех используемых ключей метод "__hash__()" возвращает одно и то же значение?

Квадратично (время пропорционально квадрату размера словаря).

Кубически (время пропорционально кубу размера словаря).

Логарифмически (время пропорционально логарифму размера словаря).

Время операции не зависит от размера словаря.

Линейно (время пропорционально размеру словаря).


Какая реализация языка Python является основной?

Jython

IPython

CLPython

CPython

PyPy


 

Ниже приведён пример кода, который должен выводить имя класса в стандартный поток вывода:

Выберите правильный вариант фрагмента, который необходимо подставить вместо "<XXX>".

self

class

self.__class__

__self__.__class__

__class__



Выберите несуществующий встроенный тип исключений Python.

Фатальные сбои, имеющие постфикс имени класса "Fatal".

Предупреждения, имеющие постфикс имени класса "Warning".

Базовые классы исключений - "BaseException" и "Exception".

События, такие как "KeyboardInterrupt", "StopIteration" или "SystemExit".

Ошибки, имеющие постфикс имени класса "Error".


Укажите пример правильного способа вызова функции, определённой следующим образом:

sum3 = lambda x: lambda y: lambda z: x + y + z

sum3(1)(2)(3)

sum3(1, 2, 3)

sum3[1][2][3]()

sum3((1, 2, 3))

sum3([1, 2, 3])


 

Укажите утверждение, не верное для языка Python.

Python - преимущественно язык программирования скриптов ("сценариев").

Python - преимущественно компилируемый язык программирования.

Используемая в языке Python динамическая типизация защищает от ошибок приведения типа.

Python - преимущественно интерпретируемый язык программирования.

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

 

 

Как запустить отладчик Python для отладки скрипта "sample.py"? Выберете все верные варианты.

С помощью средств используемой IDE.

С помощью установки переменной окружения PYTHONDEBUG.

С помощью следующей команды оболочки:
pdb sample.py

С помощью следующей команды оболочки:
python3 -m pdb sample.py

С помощью следующего фрагмента кода:
import pdb
import sample
pdb.run("sample.go()")
...

 


Существует класс, объекты которого выделяют некоторый ресурс (например, открывают сокет). Как добиться того, чтобы при освобождении памяти из под объекта, эти ресурсы освобождались?

Определить деструктор для класса с сигнатурой "del(self)"

В Python ресурсы освобождаются автоматически, поэтому ничего дополнительно делать не требуется.

Определить метод класса, явно освобождающий ресурсы перед завершением работы с объектом.

Определить деструктор для класса с сигнатурой "__del__(self)".

Использовать объекты класса только в блоке "with".


 

Какие объекты из модуля "mylib" не будут импортированы следующим выражением?

from mylib import *

Объекты, идентификаторы которых начинаются со знака подчёркивания (например, "_myobj").

Объекты, идентификаторы которых начинаются и з?

Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Какое значение примет переменная "а" в результате выполнения следующего выражения:

(*a, b, c) = range(3)

1

Никакое, произойдёт ошибка исполнения.

[0]

[0, 1, 2]


 

Какой идентификатор принято использовать в для первого аргумента статического метода для ссылки на объект класса этого метода, как, например, во встроенном методе "__new__"?

this

super

любой

cls

self


 

Найдите ошибку в следующем фрагменте кода:

Строка №7: нет доступа к атрибуту "__model" объекта "car"

В коде нет ошибки.

Строка №7: нет доступа к атрибуту "__model" объекта "self"

Строка №12: метод "__init__" должен получать 2 аргумента.

Строка №13: нет доступа к атрибуту "__model" объекта "opel1"


 

Каким образом в языке Python выделяется блок исходного кода?

С помощью ключевых слов BEGIN и END.

С помощью круглых скобок.

С помощью угловых скобок.

Форматированием отступами.

С помощью фигурных скобок.


 

Каков будет вывод следующего фрагмента кода?

а б в г

aа bб cц dд

a b c d

а б ц д

Вывода не будет по причине ошибки выполнения.


 

Какую операцию из предложенных не поддерживает структура данных типа "dict"?

Получение элемента по номеру позиции.

Получение элемента по ключу.

Пересечение множеств элементов.

Проверка того, что элемент принадлежит структуре данных.

Удаление элемента.


 

Какие из утверждений верны для языка Python?

Наследование классов не поддерживается.

Поддерживается наследование классов.

Поддерживается множественное наследование.

Исключения реализованы с помощью классов.

Множественное наследование классов не поддерживается.



Установка положительного целого значения какой переменной окружения позволяет интерпретатору Python выводить следующую дополнительную информацию?

  •   - о загрузке модулей;
  •   - о выгрузке модулей;
  •   - об имени и пути файла загружаемых модулей;
  •   - о проверяемых файлах при поиске модулей

PYTHONPATH

PYTHONVERBOSE

PYTHONINSPECT

PYTHONDEBUG

PYTHONHOME


Какое средство существует для дробной записи целых чисел в стандартной библиотеке Python 3?

тип complex

модуль complex

модуль fractions

тип fraction

тип real

 


Как эффективнее всего получить все экземпляры некоторого класса?

Используя встроенный метод "__instances__".

Используя собственный список ссылок на экземпляры в атрибуте объекта класса.

Используя собственный список "слабых" ссылок на экземпляры в атрибуте объекта класса.

Нельзя получить, так как ссылки на экземпляры приведут к утечке памяти.

Используя встроенный атрибут "__instances__" объекта класса.


 

Посредством какой структуры данных реализованы словари ("dict") в языке Python?

Очередь.

Массив изменяемого размера.

B-дерево.

Связный список.

Ассоциативный массив.


С помощью какой переменной окружения интерпретатор Python определяет путь для поиска пользовательских модулей?

CLASSPATH

PATH

PYTHONPATH

PYTHONHOME

MODULEPATH

 

Какое название сценария по умолчанию рекомендуется использовать для системы сборки и установки сторонних модулей и пакетов Python?

__init__.py

make.py

build.py

setup.py

main.py

 

Что понимается под названием "pure python module"?

Правильно организованный модуль, то есть содержащий необходимые файлы "__init__.py".

Модуль, содержащий исходные файлы только на языке Python.

Модуль, содержащий единственный исходный файл Python.

Модуль, не содержащий подмодулей.

Модуль, содержащий подмодули.


 

Каким способом можно создать декоратор функции или метода на языке Python?

Использовать анонимные классы внутри функции.

Использовать анонимные функции внутри функции.

Использовать функцию, принимающую нефиксированное количество аргументов.

Перед определением функции использовать выражение вида "@decorator", где "decorator" - правильный идентификатор.

Использовать функцию, принимающую в качестве аргумента объект функции.

 


Каков будет результат следующего выражения:

8 ** 2 // 3

64

21

4

16

Сообщение об ошибке


 

Каким целям служит документ PEP 8 (Python Enhancement Proposal #8)?

рекомендация разработчикам для оформления кода Python

спецификация стандартной библиотеки Python

спецификация языка Python 3

рекомендация разработчикам для расширения языка Python

описание механизма docstring

 


Какие способы обычно применяются для оптимизации алгоритмов, реализованных на языке Python?

Применение вызова операторов разрешения области видимости (".") в теле циклов.

Переписывание критичных модулей на языке С.

Избегание вызова операторов разрешения области видимости (".") в теле циклов.

"Ленивое" импортирование модулей - только при необходимости.

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

 

Что запишет в стандартный вывод следующий сценарий?

Занимаемый объём дискового пространства подкаталогами текущего каталога.

Занимаемый объём дискового пространства текущим каталогом.

Рекурсивный список всех файлов в текущем каталоге.

Список всех каталогов и файлов в текущем каталоге, содержащих в имени символ ".".

Список всех файлов в текущем каталоге.


 

Каким целям служит документ PEP 257 (Python Enhancement Proposal #257)?

рекомендация разработчикам для оформления кода Python

спецификация языка Python 3

рекомендация разработчикам для расширения языка Python

спецификация стандартной библиотеки Python

описание механизма docstring


Каков будет результат выполнения следующего фрагмента кода?

Вывод "hello4".

Вывод "hello1" бесконечное количество раз.

Вывод "hello2".

Вывод "hello3".

Ошибка выполнения.


 

В следующем фрагменте кода содержатся ошибки:

Укажите эти ошибки.

строка 1, первым аргументом должно быть ключевое слово "self"

строка 2, значение r должно быть здесь равным 0

строка 3, необходимо указать в качестве конечной границы значение "n+1" вместо "n"

строка 4, вместо операции умножения необходимо использовать сложение

строка 3, необходимо указать в качестве начальной границы число 1


 

В следующем фрагменте сеанса интерактивной оболочки Python информация второй строки оказалась утеряна:

Восстановите выражение испорченной второй строки, выбрав правильные варианты.

s[2:1:3]

s[:-1:2]

s[::2]

s[2::3]

s[2:-1:3]

 

 

Какие встроенные механизмы интроспекции предоставляет Python? Выберите верный вариант.

Получение всех атрибутов объекта, например с помощью функции "dir()".

Получение всех атрибутов объекта, информация о которых содержится в атрибуте "__attrs__".

Получение всех атрибутов объекта, например с помощью функции "help()".

В языке Python нет встроенных механизмов интроспекции.

Получение всех атрибутов объекта, информация о которых содержится в атрибуте "__doc__".


Посредством какой структуры данных реализованы списки ("list") в языке Python?

Массив изменяемого размера.

Стек.

B-дерево.

Связный список.

Ассоциативный массив.


 

Выполнение следующего кода приводит к генерации исключений:

Выберите действия, необходимые для исправления кода.

Сделать цикл в строках №10..12 конечным.

В строке №3 заменить "dequeue" на "queue".

Заменить тип "collections.deque" объекта "q" на синхронизированный "queue.Queue".
Также строки №26..27 заменить на конструкцию"q.join()".

Убрать строку №22.

В строке №7 заменить "i" на "item".


 

Каков будет результат следующего фрагмента кода:

1 x, y = 2, 5
2 f = lambda x**y if x > y else y**x
3 print(f)

 

10

Сообщение об ошибке

Такой же, как если бы вместо выражения в строке 3 было следующее "print(f.__repr__())"

32

25


 

Выберите правильный вариант идентификатора атрибута объектов, который должен сохранять в себе строку "docstring".

help

__doc__

docstring

doc

__docstring__

 

 

В случае добавления множества пар "ключ-значение" в словарь, где метод "__hash__" для всех ключей возвращает одно и то же значение, производительность операции добавления элементов в словарь значительно снижается. С помощью установки какой переменной окружения можно решить эту проблему?

PYTHONIOENCODING

PYTHONUNBUFFERED

PYTHONCASEOK

PYTHONOPTIMIZE

PYTHONHASHSEED

 

Требуется реализовать небольшой модуль расширения под названием "test" на языке Си. Какое название исходного файла на языке Си рекомендуется для реализации этого модуля?

test_py.c

testmodule.c

__test__.c

test_module.c

test.c

 


Укажите допустимый вариант ключа, используемого для получения значения из словаря.

Экземпляр list.

Экземпляр bytearray.

Экземпляр dict.

Экземпляр tuple.

Экземпляр set.


 

Требуется восстановить фрагмент кода в строке №5 для инициализации экземпляра синглетона:

Выберите правильные варианты этого фрагмента.

super(Singleton, cls).__new__(cls)

Singleton()

object(cls)

object.__new__(cls)

object.__init__(cls)

 


 

Какие два способа из перечисленных позволяют избежать ошибок приведения типов на языке Python?

Использование встроенной функции "isinstance(obj, cls)" для явной проверки типов в критических участках кода.

Тщательное проектирование.

Явное приведение типов в критических участках кода.

Функциональный стиль программирования.

Обеспечение покрытия юнит-тестами.


 

Найдите ошибку в следующем фрагменте кода, если она есть:

1 f = lambda x: x**x
2 print f

Синтаксис lambda выражения здесь не верен, так как нет выражения с ключевым словом "return".

"print" в версии Python 3.x является функцией, что требует написания строки 2 следующим образом: "print(f)".

Фрагмент кода верен.

Объект "f" не является строкой, поэтому вывод на экран к нему неприменим.

Операции "**" в языке Python не существует.


 

Что запишет в стандартный вывод следующий сценарий, если в качестве первого параметра командной строки ему передать имя существующего каталога файловой системы, например "X"?

Рекурсивный список всех файлов в каталоге X.

Рекурсивный список всех подкаталогов X, включая X.

Занимаемый объём дискового пространства каталогом X.

Занимаемый объём дискового пространства подкаталогами X.

Рекурсивный список всех подкаталогов X.

 


 

Каким образом следует определять статический метод на языке Python?

Использовать декоратор "@staticmethod".

Первый аргумент метода - "self" - должен принимать значение объекта класса, а не экземпляра.

Использовать ключевое слово "static".

На языке Python не может быть статических методов.

Не использовать "self" в качестве аргумента метода.

 


Каков будет вывод следующего фрагмента кода?

except

try

try finally

try except finally

try except


 

Каков будет результат выполнения следующего выражения?

(1, 2, 3)[0] = 0

Ошибка: тип данных list не поддерживает присваивание элементов

Ошибка: выход за пределы массива

Добавление элемента со значением "0" в нулевую позицию структуры данных

Ошибка: тип данных tuple не поддерживает присваивание элементов

Первый элемент структуры данных станет равным 0

 


Каким образом регламентируются реализации языка Python и его развитие?

На основе спецификаций ANSI.

На основе спецификаций W3C (WWW Consortium).

На основе базовой реализации - CPython.

Реализации языка Python и его развитие - не регламентируются.

На основе документов PEP (Python Enhancement Proposal).


 

Чем отличаются типы данных "bytes" и "bytearray"?

В отличие от объекта типа "bytearry", у объекта типа "bytes" можно получить элемент по значению ключа.

В отличие от объекта типа "bytearray", объект типа "bytes" является неизменяемым.

В отличие от объекта типа "bytearray", у объекта типа "bytes" нельзя получить элемент по номеру позиции.

Объект типа "bytes" имеет символьное представление содержания, а объект типа "bytearray" - численное.

Объект типа "bytes" имеет численное представление содержания, а объект типа "bytearray" - символьное.

 

Как зависит время операции обращения к элементу словаря ("dict") по значению ключа от размера словаря?

Квадратично (время пропорционально квадрату размера словаря).

Линейно (время пропорционально размеру словаря).

Логарифмически (время пропорционально логарифму размера словаря).

Кубически (время пропорционально кубу размера словаря).

Время операции не зависит от размера словаря.


 

Какой аргумент метода некоторого экземпляра используется для передачи в метод ссылки на этот экземпляр?

this

super

любой

cls

self


Какой из способов позволяет сделать объект наиболее подходящим для сериализации?

Определить метод "__ser__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод "__str__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод, сохраняющий значение переменных объекта в файле.

Определить метод "__hash__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

Определить метод "__repr__(self)" класса так,
чтобы он возвращал строку, являющуюся верным выражением Python,
позволяющим создать такой же объект.

 


Каков будет результат выполнения следующего кода?

Вывод "m"

Ошибка выполнения.

Вывод "None"

Вывод "False"

Вывод "True"


 

Возможно ли в языке Python сделать произвольную функцию методом класса во время выполнения (то есть динамически)?

Да, используя для этого декоратор "callable".

Нет.

Да, используя для этого изменяемый список атрибутов класса.

Да, используя для этого декоратор (или встроенную функцию) "classmethod".

Да, используя для этого изменяемый список методов класса.


Выберите верное утверждение, описывающее приём реализации метакласса в языке Python.

Создать класс, наследующий класс "type".
Экземпляры такого метакласса должны быть наследуемыми классами для остальных.

Создать класс, наследующий класс "type".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "class".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "object".
Такой метакласс должен быть наследуемым для остальных классов.

Создать класс, наследующий класс "object".
Такой метакласс должен быть наследуемым для остальных классов.


 

Некоторый модуль M1 запускается при помощи командной строки следующим образом:

$ python -m M1 ARG1 ARG2

В этом модуле используется значение sys.argv[0]. Каким будет это значение в данном случае?

"python -m M1 ARG1 ARG2"

ARG1

None

False

M1


 

Какие пространства имён определены в любом месте кода Python?

Корневое

глобальное

встроенное

локальное

определённое конструкцией с ключевым словом "namespace"


 

Выберите верный и наиболее эффективный способ получения списка результатов (переменная "r") применения ф-ции "transform(e)" к элементам последовательности "e_seq", где "е" - элемент последовательности.

for e in e_seq: r.append(transform(e))

r = transform(e_seq[:])

r = transform(e in e_seq)

r = transform(e_seq[0:len(e_seq)-1])

r = [transform(e) for e in e_seq]


Каков результат применения встроенной функции "dir()", если в качестве аргумента ей передать объект?

Список всех атрибутов объекта, кроме тех, чьи идентификаторы начинаются и заканчиваются двойными подчёркиваниями.

Список всех атрибутов объекта.

Каталог на файловой системе, в котором был сохранён этот объект.

Относительный путь в подмодулях.

Список всех атрибутов объекта, если объект не имеет метода "__dir__(self)", переопределяющего результат.

 


 

Выберите поддерживаемые языком Python парадигмы программирования (без применения сторонних расширений).

логическая

функциональная

аспектно-ориентированная

объектно-ориентированная

компонентная


 

Каков будет результат следующего выражения?

{x for x in "abracadabra" if x not in "abc"}

Ошибка выполнения.

{'r', 'd'}

{'a', 'b', 'c'}

None

False

 


Выберите правильные варианты, характеризующие поведение логических операций в языке Python.

В языке Python есть тернарная операция.

Бинарные логические операции всегда вычисляют оба операнда.

Бинарные логические операции ленивы, то есть для вычисления всего результата иногда достаточно вычисления первого же операнда,
что и используется в Python.

В языке Python нет тернарной операции.

В Python нет оператора "xor".


 

Требуется класс Element, объекты которого могли бы хранить атрибуты подобно встроенному типу dict:

attr_name, attr_value = "cx", "50%"
el = Element("circle")
el[attr_name] = attr_value

Выберите возможные варианты реализации такого поведения класса.

Класс "Element" должен наследовать встроенный класс "tuple".

Класс "Element" должен наследовать встроенный класс "dict".

Класс "Element" должен иметь определение метода "__set__(self, instance, value)".

Класс "Element" должен иметь определение метода "set(self, key, value)".

Класс "Element" должен иметь определение метода "__setattr__(self, key, value)".

 

Объект, содержащий в себе пару чисел, описывается следующим образом:

pair = (-1.0, 2.5)

Требуется получить строку вида "x=<X>, y=<Y>", где вместо <X> и <Y> будут подставлены соответствующие значения из объекта pair. Какой способ позволяет это сделать наиболее эффективно?

result = "x={0}, y={1}".format(pair)

result = "x={0[0]}, y={1[1]}".format(*pair)

result = "x={0}, y={1}".format(pair[0]. pair[1])

result = "x={0[0]}, y={1[1]}".format(pair)

result = "x={0[0]}, y={0[1]}".format(pair)

 

 

Стандартная библиотека Python 3 не включает в себя:

Криптографические средства.

Обеспечение многопоточности.

POSIX API.

Средства обработки XML DOM.

Графический интерфейс Qt.


 

Какова типичная причина возникновения циклических зависимостей модулей?

Ограничения предметной области.

Ошибки кодирования.

Ошибки рефакторинга.

Ошибки проектирования.

Особенности синтаксиса языка Python.

 


Каким образом можно добиться того, чтобы скрипт Python импортировал собственный модуль? Укажите верный вариант строки кода, делающей это.

__import__(self)

__import__(__name__)

в языке Python этого сделать нельзя

import self

import __name__


Каков будет результат выполнения следующего фрагмента кода?

Генерация исключения в строке №10.

Генерация исключения в строке №11.

Вывод "x".

Генерация исключения в строке №13.

Вывод "y".


 

Какой вариант отступов ("индентации") кода рекомендуется использовать для форматирования кода Python?

только пробелы

только табуляция

одинаковые отступы размером 4 пробела

возможно использование различных отступов в одном и том же исходном файле

одинаковые отступы размером 8 пробелов

 

Выберите формат хранения данных, не поддерживаемый стандартной библиотекой Python 3.

CSV

JSON

Berkley DB

YAML

XML


Какой псевдо-модуль предназначен для импортирования новейших возможностей языка Python, ещё не вошедших в текущую версию?

future

importlib

__future__

imp

time


 

Укажите недопустимые способы вызова функции "myfunc":

MyClass.f()

v.f()

В теле метода объекта класса "MyClass":
self.f()

В теле метода объекта класса "MyClass":
myfunc(self)

myfunc(v)

 

Укажите недопустимый способ вызова функции "myfunc":

myfunc(v)

В теле метода объекта класса "MyClass":
self.__f()

v.__f()

v._MyClass__f()

В теле метода объекта класса "MyClass":
myfunc(self)

 

Какое значение вернёт функция "f" при её вызове?

2

5

4

1

3

 


В файле исходного кода Python встретилась следующая последовательность операций:

...

x, y = int(5), int(0)

z = x/y

if z==0:

...




При этом, известно, что условие (в конце приведённого фрагмента) всегда выполняется и интерпретатор продолжает выполнение внутри блока этого условия.
Каким образом это могло быть реализовано?

Определён собственный класс "int", переопределяющий метод "__truediv__".

Определён собственный класс "int", переопределяющий метод "__floordiv__".

Определён собственный класс "int", переопределяющий метод "__divmod__".

Определён собственный класс "int", наследующий встроенный "int".

Никаких дополнительных действий для реализации не потребовалось.

 


Выберите верный и наиболее эффективный способ конкатенации строк, находящихся в последовательности "slist".

for s in slist: r += slist

r = concat(slist)

r = "".join(slist)

r = "".concat(slist)

r = slist[0] and slist[1] and ...and slist[en(slist)-1]

 


Какие ошибки содержатся в следующем фрагменте кода?

В строке №2 вместо ковычек должны быть апострофы.

В строке №7 вызов функции "print" не имеет аргументов.

В строке №2 вместо двойных ковычек должны быть одинарные.

В строке №2 вместо двойных ковычек должны быть тройные.

В строке №1 пропущено ключевое слово "def".

 


 

Какие лексемы не являются объектами в языке Python?

Функции и методы.

Переменные.

Все операторы.

Классы и модули.

Экземпляры классов.


 

В стандартной поставке Python есть утилита "pdb". Что она из себя представляет?

Система резервного копирования.

Система контроля версий.

Система управления базами данных.

Отладчик.

Портированный для запуска в ОС Linux интерпретатор языка.


 

Для чего применяется lambda-выражение в языке Python?

Создание приватных функций модулей.

Создание функций и методов с нефиксированным числом аргументов.

Создание приватных методов классов.

Создание декораторов функций и методов.

Создание анонимных функций.

 


Использование чего позволяет на языке Python наиболее просто и эффективно реализовать тип данных, подобный структурам в языке C и типу "record" в языке Pascal?

Класса.

Кортежа ("tuple").

Словаря ("dict").

Списка ("list").

Пустого класса.

 


Как наиболее эффективно преобразовать исходный код, написанный для Python версии 2.х в исходный код для Python 3.x?

Требуется полностью "ручной рефакторинг" кода, так как Python3 не имеет обратной совместимости с Python2.

Переписать исходный код "с нуля".

Требуется реализовать собтсвенную утилиту, автоматизированно преобразующую исходный код.

Используя утилиту "2to3".

Используя какую-либо из множества сторонних утилит, которые несложно найти в интернете.

 

В какой кодировке хранят текст объекты типа "str" в языке Python3?

CP1251

В Python3 нет типа данных "str".

ASCII

Unicode

UTF-8


 

Некоторый класс "MyClass" наследует другой класс "Basic". В конструкторе класса "MyClass" требуется вызвать конструктор базового класса и передать ему аргумент "id". Каким образом это следует сделать?

Basic(self, id)

self.__init__(Basic, id)

super(id)

Basic(self, id)

Basic.__init__(self, id)

 

Найдите ошибки в следующем фрагменте исходного кода:

Строка №14: поток можно запустить лишь один раз.

Строка №11: "yield" в Python 3.x является функцией.

Строка №6: инициализация базового класса выполняется неверно.

Строка №7: нельзя запустить поток в этом состоянии (в конструкторе).

Строка №11: неверное применение операции "yield" - она не приостанавливает поток.


 

Вызов функции list(range(...)) с некоторыми параметрами даёт следующий результат:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Определите правильные варианты использования параметров функции range:

range(0, 11)

range(11)

range(0, 10)

range(0, 10, 1)

range(10)


 

Какое выражение должно содержаться в теле определения пустого класса?

return

pass

self

Никакое.

None



Какой метод позволяет переопределять очистку (деструкцию) экземлляра класса?

__repr__(self)

__new__(cls)

__init__(self)

__del__(self)

В языке Python невозможно переопределить метод очистки экземпляра класса.


Какой метод позволяет переопределять инициализацию (конструкцию) экземлляра класса?

__repr__(self)

__new__(cls)

__del__(self)

__init__(self)

В языке Python невозможно переопределить метод инициализации экземпляра класса.


Что такое генератор?

Класс, предназначенный для получения экземпляров итераторов.

Результат, возвращаемый функцией (методом) итератора.

Выражение, содержащие инструкцию "yield".

Класс, переопределяющий метод "__next__".

Функция (или метод), возвращающая итератор для некоторого объекта.


 

Какими способами из перечисленных можно создать объект, вызываемый как функция?

Любой объект можно вызвать, как функцию.

Определить обычную функцию, её идентификатор можно использовать как объект.

Определить объект как переменную, используя ключевое слово "lambda".

Класс объекта должен наследовать встроенный класс "function".

Определить в классе объекта метод "__call__(self, ...)".

 

Каков будет результат выполнения следующего фрагмента кода?
 

Вывод:
y
x

 

Вывод:
y
y

 

Генерация исключения в строке №12.

Вывод:
x
y

 

Вывод:
x
x


 

В результате выполнения следующего фрагмента кода, конструкция в строке №16 выводит "hello world":

Каков будет результат выполнения конструкции в строке №18?

Не выведет ничего.

Вывод наподобие следующего: "".

Вывод "None".

Генерация исключения "AttributeError" вследствие обращения к объекту типа "NoneType".

Вывод "hello world".

 

 

Как получить "словарь" (типа "dict") всех импортированных модулей?

С помощью встроенной функции "dir()".

Можно получить из "sys.path[1]".

Можно получить из "sys.path[0]".

Можно получить из "sys.modules".

С помощью встроенной функции "imported_modules()".


 

Для некоторого класса "MyClass" требуется создать юнит-тест. Выберите действия, необходимые для того чтобы достичь этого.

Использовать модуль doctest.

Определить конструктор в классе юнит-теста.

Определить методы "setUp(self)", "tearDown(self)" в классе юнит-теста.

Создать класс с названием "MyClassTestCase", наследующий класс unittest.TestCase.

Определить методы с сигнатурой вида "test_xxx(self)" в классе юнит-теста.


 

В какой кодировке хранят текст объекты типа "unicode" в языке Python3?

UTF-16

Unicode

UTF-32

UTF-8

В Python3 нет типа "unicode".


 

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

Принудительный вызов сборщика мусора.

"Обнуление" ссылок на другие объекты перед тем как ссылающийся объект выходит за пределы текущей области видимости.

Рефакторинг исходного кода.

Использование "слабых ссылок", не препятствующих освобождению памяти.

Использование дескрипторов объектов.

 

Есть n строк - s1, s2, ..., sn. Какой способ позволяет наиболее просто и эффективно получить из этих строк первую не пустую?

Тернарная операция.

Использование регулярных выражений.

Выражение вида "str(s1, s2, ..., sn)".

Lambda-выражение.

Выражение вида "s1 or s2 or .. or sn".


 

Выберите рекомендуемые и верные синтаксически способы записи объявления структур данных.

lst = [ 1: "один", 2: "два", 3: "три", ]

d = { 1: "один", 2: "два", 3: "три", }

lst = [ 1: "один", 2: "два", 3: "три" ]

t = (
  "один",
  "два",
  "три",
)

d = { 1: "один", 2: "два", 3: "три" }


Какие варианты типизации реализованы в языке Python?

строгая неявная типизация

слабая ("утиная") типизация

строгая явная типизация

динамическая типизация

статическая типизация


 

Какой метод позволяет перехватывать создание экземлляра класса?

__init__(self)

__repr__(self)

В языке Python невозможно перехватить создание экземпляра класса.

__new__(cls)

__del__(self)



Укажите правильный вариант используемой операции для строки n вместо выражения в угловых скобках так, чтобы в случае, когда phone_numbers не содержит требуемого ключа, не генерировалось бы исключение KeyError.

phone_book["Boris"] if "Boris" in phone_book else None

phone_book["Boris"]

phone_book["Boris"] if phone_book.has("Boris") else None

phone_book["Boris"] if phone_book.has_key("Boris") else None

phone_book.get("Boris")



Какой стандартный инструмент применяется для сборки и установки сторонних модулей Python?

apt

ant

distutils

rpm

make



Выберите правильный вариант тернарной операции на языке Python.

<ВЫРАЖЕНИЕ1> if <УСЛОВИЕ> else <ВЫРАЖЕНИЕ2>

<УСЛОВИЕ> ? <ВЫРАЖЕНИЕ1> : <ВЫРАЖЕНИЕ2>

(<УСЛОВИЕ>) ? <ВЫРАЖЕНИЕ1> : <ВЫРАЖЕНИЕ2>

<ВЫРАЖЕНИЕ1> or <ВЫРАЖЕНИЕ2> or <ВЫРАЖЕНИЕ2>

В языке Python не предусмотрено конструкции для тернарного выражения.


 

Каков будет вывод следующего скрипта?

__main__

__self__

ничего, интерпретатор выдаст синтаксическую ошибку

имя текущего модуля

имя файла запущенного скрипта

 


Какие встроенные типы данных изначально поддерживают итераторы?

Int

dict

str

tuple

list


 

Как зависит время операции добавления пары "ключ-значение" в словарь от размера последнего, в случае, если для всех используемых ключей метод "__hash__()" возвращает одно и то же значение?

Квадратично (время пропорционально квадрату размера словаря).

Кубически (время пропорционально кубу размера словаря).

Логарифмически (время пропорционально логарифму размера словаря).

Время операции не зависит от размера словаря.

Линейно (время пропорционально размеру словаря).


Какая реализация языка Python является основной?

Jython

IPython

CLPython

CPython

PyPy


 

Ниже приведён пример кода, который должен выводить имя класса в стандартный поток вывода:

Выберите правильный вариант фрагмента, который необходимо подставить вместо "<XXX>".

self

class

self.__class__

__self__.__class__

__class__


Выберите несуществующий встроенный тип исключений Python.

Фатальные сбои, имеющие постфикс имени класса "Fatal".

Предупреждения, имеющие постфикс имени класса "Warning".

Базовые классы исключений - "BaseException" и "Exception".

События, такие как "KeyboardInterrupt", "StopIteration" или "SystemExit".

Ошибки, имеющие постфикс имени класса "Error".


Укажите пример правильного способа вызова функции, определённой следующим образом:

sum3 = lambda x: lambda y: lambda z: x + y + z

sum3(1)(2)(3)

sum3(1, 2, 3)

sum3[1][2][3]()

sum3((1, 2, 3))

sum3([1, 2, 3])


 

Укажите утверждение, не верное для языка Python.

Python - преимущественно язык программирования скриптов ("сценариев").

Python - преимущественно компилируемый язык программирования.

Используемая в языке Python динамическая типизация защищает от ошибок приведения типа.

Python - преимущественно интерпретируемый язык программирования.

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


 

Как запустить отладчик Python для отладки скрипта "sample.py"? Выберете все верные варианты.

С помощью средств используемой IDE.

С помощью установки переменной окружения PYTHONDEBUG.

С помощью следующей команды оболочки:
pdb sample.py

С помощью следующей команды оболочки:
python3 -m pdb sample.py

С помощью следующего фрагмента кода:
import pdb
import sample
pdb.run("sample.go()")
...


Существует класс, объекты которого выделяют некоторый ресурс (например, открывают сокет). Как добиться того, чтобы при освобождении памяти из под объекта, эти ресурсы освобождались?

Определить деструктор для класса с сигнатурой "del(self)"

В Python ресурсы освобождаются автоматически, поэтому ничего дополнительно делать не требуется.

Определить метод класса, явно освобождающий ресурсы перед завершением работы с объектом.

Определить деструктор для класса с сигнатурой "__del__(self)".

Использовать объекты класса только в блоке "with".


 

Какие объекты из модуля "mylib" не будут импортированы следующим выражением?

from mylib import *

Объекты, идентификаторы которых начинаются со знака подчёркивания (например, "_myobj").

Объекты, идентификаторы которых начинаются и заканчиваются знаками подчёркивания (например, "_myobj_").

Объекты, идентификаторы которых начинаются с двойного знака подчёркивания (например, "__myobj").

Локальные объекты модуля mylib, объявлению которых не предшествует ключевое слово "global".

Объекты, идентификаторы которых начинаются и заканчиваются двойными знаками подчёркивания (например, "__myobj__").


 

Укажите верные способы, которые позволяют добавить новый тип данных в языке Python.

Определение нового прототипа для объектов требуемого типа.

Создание и импортирование нового модуля расширения, например, на языке С.

Определение нового класса, используя ключевое слово "class".

Определение новой структуры, используя ключевое слово "struct".

Определение нового типа, используя ключевое слово "typedef".


 

Что понимается под термином "non-pure module distribution"?

Набор модулей, содержащих другие подмодули.

Набор модулей, среди которых есть хотя бы один, содержащий модули расширения (например на языке Си).

Нет верного ответа

Набор модулей, не содержащих другие подмодули.

Набор модулей, не содержащих необходимые файлы "__init.py__".


Каковы типичные способы исправления циклических зависимостей модулей?

"Слияние" исходных файлов в один.

Переписывание исходного кода "с нуля".

Перемещение критичных выражений import ближе к концу файла исходного кода.

Выделение дополнительного модуля для критичных участков кода.

Использование утилиты "2to3".

 


Каков будет результат выполения следуюшего кода?

Вывод чисел: 1, 2, 3, 4.

Синтаксическая ошибка в строке №10.

Вывод чисел: 4, 3, 2, 1.

Вывод чисел: 1, 4, 3, 2.

Ошибка - недопустимый символ в конце строки №7.

 


Укажите недопустимые варианты использования так называемых "контекстных объектов (поддерживающих использование операции "with").

Блокировка ресурса.

Открытие сетевых соединений.

Открытие файлов.

Локальное разрешение области видимости.

Перехват исключений.


 

Факториал числа n - произведение всех натуральных чисел до n включительно. Каким образом можно записать выражение для вычисления факториала произвольного числа в одну строчку на языке Python?

Используя встроенную функцию "apply" и lambda-выражение.

Используя встроенную функцию "map" и lambda-выражение.

Используя встроенную функцию "filter" и lambda-выражение.

Используя встроенную функцию "zip" и lambda-выражение.

Используя встроенную функцию "functools.reduce" и lambda-выражение



Лексема "запятая" (",") в языке Python является...

разделителем.

оператором.

"l-value".

ключевым словом.

идентификатором.

 


Каков будет результат вызова метода "f" объекта "с"?

Вывод "A"

Ошибка выполнения

Результат зависит от реализации.

Вывод "C"

Вывод "B"

 


В чём различие типов "tuple" и "list"?

Тип "tuple" не поддерживает перечисление элементов, так как является списком, а не массивом, в отличие от "list".

Тип "list" не поддерживает изменение элементов и размера.

Тип "tuple" не поддерживает изменение элементов и размера.

В синтаксисе описания структур данных этих типов.

Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516
По Viber: molodoyberkut

Или через форму обратной связи на нашем сайте
4.png