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

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

Вариант 1280341993.


Ваше имя*:


Вопрос 1

Начало определения функции «f» выглядит так:

def f(a, b, c=None, d="0"):

Какие из следующих вариантов вызова приведут к ошибке на этапе присваивания фактических параметров формальным?

  1.  «f(1, d=3)»
  2.  «f(1, 2, d=3, c=4)»
  3.  «f(1, 2, 3, 4)»
  4.  «f(1, 2)»
  5.  «f(1, 2, d=3)»

Вопрос 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()
  4.   m.m1 = m1; m.m1(m)

Вопрос 3

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

 
def xx(func):
  class X(object):
    pass
  setattr(X, func.__name__, func)
  return X
 
  1.  функция-фабрика
  2.  метод класса
  3.  метакласс
  4.  функция-фабрика классов

Вопрос 4

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

S = 0
for i in range(1, 10):
  if i % 2 == 0:
    S = S + i 
print(S)


  1.  сообщение об ошибке
  2.  10
  3.  30
  4.  20
  5.  1024
  6.  0

Вопрос 5

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

A = B = 1
a = "A" * 5
b = "B" * 5
a = a + b * 5
print(a, b)
  1.  сообщение об ошибке в четвертой строке
  2.  AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB BBBBB
  3.  AAAAABBBBBBBBBBBBBBBBBBBBBBBBB BBBBB
  4.  30 5
  5.  AAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBBAAAAABBBBB, BBBBB

Вопрос 6

Класс имеет метод __call__(). Какому классу он может "подражать" и как пользоваться этим методом?

 
class A:
  #...
  def __call__(self, *params, **kws):
    #...
a = A()
 


  1.  функция. Пользоваться можно так: b = a(2,3,4)
  2.  список. Пользоваться можно так: a[0] = 5
  3.  кортеж. Пользоваться можно так: a = (1, 2, 3)
  4.  кодовый объект. Пользоваться можно так: eval(a)

Вопрос 7

Какое из приведенных ниже регулярных выражений некорректно?

  1.  a+b++
  2.  [a]*?
  3.  (a+b+)+
  4.  (?P<k>(ac))

Вопрос 8

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

 
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.   xy, x, y, self, _length, position
  2.   _length, __len
  3.   _length, __len, position
  4.   __len, xy, x, y, self

Вопрос 9

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

S = 0
for i in range(1, 10):
  for j in range(1, 3):
    if i == j:
      S = S + i + j
      break
print(S)
  1.  сообщение об ошибке
  2.  12
  3.  0
  4.  6
  5.  2

Вопрос 10

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

a = "A"
b = "B"
a, b = b + a
print(a + b)
  1.  сообщение об ошибке в третьей строке
  2.  АВА
  3.  АВ
  4.  ВА