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

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

Вариант 2467523002.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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


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


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

Вопрос 3

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

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

Вопрос 4

Что является результатом применения функции «enumerate()» к последовательности «s»?

  1.  последовательность порядковых чисел в различных форматах (арабском, римском)
  2.  последовательность кортежей. В каждом кортеже первый элемент — номер элемента исходной последовательности, а второй — соответствующий этому номеру член
  3.  последовательность чисел от нуля до len(s)
  4.  кортеж из двух последовательностей: последовательность чисел от нуля до len(s) и исходная последовательность

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске):

import mdl
a = mdl.a
b = mdl.b()
reload(mdl)
  1.  изменятся только классы, функции и т.п. (a)
  2.  имена из модуля (mdl.a, mdl.b) будут ссылаться на другие объекты. Старые объекты (a, b) не изменятся
  3.  объекты (a, b) изменятся в соответствии с новыми определениями
  4.  изменится только mdl

Вопрос 8

Имеется следующий генератор для слияния двух отсортированных последовательностей:

def merge(a1, a2):
 a1 = list(a1)
 a2 = list(a2)
 while a1 or a2:
   if a1 and (not a2 or a1[0] < a2[0]):
     r = a1
   else:
     r = a2
   yield r[0]
   del r[0]

Какие ошибки или особенности имеет эта программа?


  1.  генератор оставит за собой временный список, так как «del» происходит после «yield»
  2.  генератор будет портить переданные ему списки
  3.  ошибок нет
  4.  в последней строке каждый раз удаляется элемент из временного списка, а не из «a1» или «a2»: генератор зациклится

Вопрос 9

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

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

Вопрос 10

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

lst = []
 
def A(l, x):
  return lst + [x]
 
def B(l, x):
  lst.append(x)
  return lst
 
def C(l, x):
  return lst.count(x)


  1.  только B и C
  2.  никакие
  3.  A, B, C
  4.  только A и B
  5.  только B