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

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

Вариант 391649347.


Ваше имя*:


Вопрос 1

С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?

  1.  x is y
  2.  x == y
  3.  hash(x) == hash(y)

Вопрос 2

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

 
def m1(self):
  print("m1")
 
class M:
  def m2(self):
    print("m2")
 
m = M()
 


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


  1.   m.m1 = m.m2; m.m1()
  2.   M.m1 = m1; m.m1()
  3.   m.m1 = m1; m.m1(m)
  4.   m.m1 = m1; m.m1()

Вопрос 3

Что будет выведено следующей программой?

a = 1
b = 2
a, b = b, a
print(a, b, a)
  1.  1 2 1
  2.  1 1 1
  3.  1 1 1 1 2 1
  4.  2 1 2

Вопрос 4

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

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

Вопрос 5

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

 
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.am()
  4.   a.am = b.bm; a.bm()

Вопрос 6

В каких местах допущены ошибки в генераторном выражении, выдающем список координат полей шахматной доски?

(j+str(i) for i in range(1, 9) for j in "abcdefgh")
  1.  ошибка в «j+str(i)»
  2.  ошибка в «for i in range(1, 9)»
  3.  ошибка в «for j in "abcdefgh"»
  4.  ошибок нет

Вопрос 7

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

  1.  hash(x) == hash(y)
  2.  x is y
  3.  id(x) == id(y)

Вопрос 8

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

 
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!" после выполнения ready.set(), то есть, после печати "Prepare!"
  2.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  3.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке
  4.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()

Вопрос 9

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

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

Вопрос 10

Какое множество строк описывает регулярное выражение «[ac][ab]»?

  1.  "aa", "ab", "ba", "bb", "ca", "cb"
  2.  "aa", "ab", "ca", "cb"
  3.  "[ac][ab]"
  4.  "ac", "ab"