Простой тест на знание Python — вопросы

Материал из DISCOPAL
Перейти к: навигация, поиск
12345678910
Простой тест на знание Python

Вариант 1939479482.


Ваше имя*:


Вопрос 1

Как называется отношение, которое имеют следующие два класса:

 
class A:
  def __init__(self, x):
    self._mydata = x
  def m1(self):
    raise NotImplementedError
 
class B(A):
  def __init__(self, x):
    super(B, self).__init__(x)
  def m1(self):
    return self._mydata
 
  1.  наследование. B получается наследованием A
  2.  агрегация. Экземпляры A содержат экземпляры класса B
  3.  наследование. A получается наследованием B
  4.  ассоциация. Экземпляры A содержат ссылки на экземпляры класса B

Вопрос 2

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

[ " "]
  1.  str (строка)
  2.  array (массив)
  3.  list (список)
  4.  tuple (кортеж)
  5.  это синтаксическая ошибка

Вопрос 3

Какой длины строки можно использовать в Python?

  1.  длина строк ограничивается имеющейся памятью
  2.  длины строк должны быть не больше, чем при их определении
  3.  256 символов
  4.  65536 символов

Вопрос 4

Какие встроенные функции служат для создания объектов определенного типа (конструкторы классов/функции-фабрики…)?

  1.  tuple()
  2.  isinstance()
  3.  chr()

Вопрос 5

С помощью функций какого модуля проще всего исследовать содержимое стека при обработке исключения в части except?

  1.  traceback
  2.  inspect
  3.  dis
  4.  tb

Вопрос 6

Какую роль играет «xx» в Python-программе, и чему должен быть равен «XXX»:

 
class A:
  def xx():
    return A.__name__
  xx = XXX(xx)
 
  1.  статический метод, XXX равен staticmethod
  2.  метод, XXX равен instancemethod
  3.  функция, XXX можно опустить
  4.  метод класса, XXX равен classmethod

Вопрос 7

Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?

  1.  dir()
  2.  locs()
  3.  enumerate()

Вопрос 8

Из какого модуля будет работать функция split() в следующем примере:

from sre import *
from string import *
split('a', 'b')
  1.  из sre.string
  2.  из re
  3.  из string
  4.  возникнет ошибка (конфликт имен)

Вопрос 9

Как называется отношение, которое имеют следующие два класса:

 
class A:
  def __init__(self, **atts):
    self._atts = atts
  def __repr__(self):
    return ":" + str(self._atts)
 
class B(list):
  def __init__(self, *params):
    super(B, self).__init__(params)
 
  1.  ассоциация. Экземпляры A содержат ссылки на экземпляры B
  2.  агрегация. Экземпляры B содержат экземпляры A
  3.  классы не связаны между собой
  4.  ассоциация. Экземпляры B содержат ссылки на экземпляры A

Вопрос 10

Что делает следующая программа?

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  2.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  3.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  4.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке