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

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

Вариант 319643928.


Ваше имя*:


Вопрос 1

Какую роль играет xx в следующей Python-программе

 
class M(object):
  def xx(self):
    print "self:", self
 
  1.  метод класса
  2.  статистический метод
  3.  метафункция
  4.  функция-фабрика

Вопрос 2

Сколько элементов будет содержать список L после выполнения следующего кода:

L = []
L.extend([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  1
  2.  2
  3.  3
  4.  сообщение об ошибке
  5.  4

Вопрос 3

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

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

Вопрос 4

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

 
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

Вопрос 5

Что будет выведено в результате выполнения сопоставления с регулярным выражением?

import re
 
m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC")
print(m.groupdict())
  1.  {'a': 'AAAA', 'b': 'B'}
  2.  {'a': 'AAAA', 'c': 'C', 'b': 'B'}
  3.  {'a': 'AAAA', 'b': 'B', 'c': }
  4.  {'a': 'AAAA', 'b': 'BBBB'}

Вопрос 6

Что будет выведено в результате выполнения сопоставления с регулярным выражением?

m = re.match("(a*?)(a+)(b+?)", "aaabbb")
print(m.groups())
  1.  ('aa', 'a', 'b')
  2.  ('aa', 'a', 'bbb')
  3.  ('a', 'aa', 'b')
  4.  (, 'aaa', 'b')

Вопрос 7

Имеются следующие определения:

 
class A:
  def am(self):
    print "am"
 
class B:
  def bm(self):
    print "bm"
 
a = A()
b = B()
 


Какой из фрагментов кода содержит ошибки?


  1.   a.am = b.bm; a.am()
  2.   A.am = b.bm; a.am()
  3.   a.am = b.bm; a.bm()
  4.   A.am = B.bm; a.am()

Вопрос 8

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

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

Вопрос 9

Для чего в регулярном выражении используется "\w"?

  1.  для обозначения буквы или цифры
  2.  для обозначения символа, который не является ни буквой, ни цифрой
  3.  для обозначения границы слова
  4.  для обозначения того, что в этом месте нет границы слова

Вопрос 10

В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)

def f(x, y, z):
  global d1, d2
  # 1
  d1[(x, y)] = z
  # 2
  d2[z] = (x, y)
  # 3
  res = len(d2)
  # 4
  return res 


  1.  1: Z.acquire(), 4: Z.release()
  2.  замок не нужен
  3.  1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
  4.  1: Z.acquire(), 3: Z.release()