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

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

Вариант 4104847857.


Ваше имя*:


Вопрос 1

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

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  метакласс. A является метаклассом для B
  2.  наследование. B получается наследованием A
  3.  ассоциация. A содержит ссылки на B
  4.  метакласс. B является метаклассом для A

Вопрос 2

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

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.  беспрерывно печатает звездочки
  2.  печатает 25 звездочек
  3.  печатает 1 звездочку и зависает
  4.  печатает 5 звездочек
  5.  аварийно завершается при попытке выполнить l.acquire() во второй раз

Вопрос 3

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

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

Вопрос 4

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

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

Вопрос 5

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

import numpy as np
print(np.shape(np.transpose(np.ones((2,3)))))
  1.  (3, 2)
  2.  6
  3.  (2, 3)
  4.  array([2, 3])

Вопрос 6

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

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

Вопрос 7

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

import numpy as np
print(np.size(np.ones((2, 5))))
  1.  (2, 5)
  2.  array([2, 5])
  3.  (5, 2)
  4.  10

Вопрос 8

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

 
import numpy as np
…
 

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


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

Вопрос 9

Класс имеет методы «__iter__()» и «next()».

О чем это говорит и как пользоваться этим методом?

 
class A:
  #...
  def __iter__(self): 
    #...
  def next(self):
    #...
a = A(1, 2, 3)
 
  1.  генератор. Пользоваться можно так: for i in a(): print i
  2.  последовательность. Пользоваться можно так: print a[2]
  3.  итератор. Пользоваться можно так: for i in a: print i
  4.  нет особого названия. Пользоваться можно так: print a.next()

Вопрос 10

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

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