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

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

Вариант 2482054602.


Ваше имя*:


Вопрос 1

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

0 < [1, 4], [1] < 3
  1.  False (или 0)
  2.  None
  3.  это синтаксическая ошибка
  4.  (True, False) или (1, 0)
  5.  True (или 1)

Вопрос 2

Дан массив:

>>>c = array([[1,2], [2,3], [4,5]])

Чему равен срез c[1]?

  1.  array([1, 2])
  2.  array([1, 2, 4])
  3.  array([2, 3, 5])
  4.  array([2, 3])

Вопрос 3

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

 
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.  агрегация. Экземпляры A содержат экземпляры класса B
  2.  ассоциация. Экземпляры A содержат ссылки на экземпляры класса B
  3.  наследование. A получается наследованием B
  4.  наследование. B получается наследованием A

Вопрос 4

Даны матрицы a и b.

 
import numpy as np
…
 

Как получить произведение матриц?


  1.  a * b
  2.  np.vdot(a, b)
  3.  np.product(a, b)
  4.  np.dot(a, b)

Вопрос 5

Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:

D = {}
D[1], D[2], D[3] = "ABB"
D[0], D[1] = "AB"
  1.  4
  2.  3
  3.  2
  4.  1
  5.  сообщение об ошибке

Вопрос 6

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

 
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.  ассоциация. Экземпляры B содержат ссылки на экземпляры A
  2.  классы не связаны между собой
  3.  ассоциация. Экземпляры A содержат ссылки на экземпляры B
  4.  агрегация. Экземпляры B содержат экземпляры A

Вопрос 7

С помощью какой функции можно организовать цикл с параметром («for»)?

  1.  xrange()
  2.  range()
  3.  reload()
  4.  id()

Вопрос 8

Какие из перечисленных функций имеют побочные эффекты:

def A(lst):
  def AA(x):
    return lst + [x]
  return AA
 
def B(x):
  def BB(lst):
    return lst + [x]
  return BB
 
def C(x, cache={}):
  if cache.has_key(x):
    return cache[x]
  def CC(lst):
    return lst + [x]
  cache[x] = CC
  return CC
 
  1.  только B и C
  2.  A, B, C
  3.  только C
  4.  никакие

Вопрос 9

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

import threading
l = threading.Lock()
 
def proc(nm, n=0):
  l.acquire()
  try:
    if n < 5:
      print("*", end='')
      return proc(nm, n+1)
    else:
      return nm
  finally:
    l.release() 
 
for i in range(5):
  threading.Thread(target=proc, args=(str(i),)).start()
  1.  печатает 1 звездочку и зависает
  2.  беспрерывно печатает звездочки
  3.  печатает 5 звездочек
  4.  печатает 25 звездочек
  5.  аварийно завершается при попытке выполнить l.acquire() во второй раз

Вопрос 10

Укажите набор атрибутов, которые считаются приватными, для экземпляров следующего класса:

 
class Ex:
  def __init__(self, x, y):
    xy = x, y
    self.position = xy
    self._length = self.__len(x, y)
  def __len(self, x, y):
    return abs(x) + abs(y)
  def getlen(self):
    return self._length
 


  1.   _length, __len
  2.   xy, x, y, self, _length, position
  3.   _length, __len, position
  4.   __len, xy, x, y, self