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

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

Вариант 1902422020.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

Какой длины строки можно использовать в Python?

  1.  длины строк должны быть не больше, чем при их определении
  2.  256 символов
  3.  65536 символов
  4.  длина строк ограничивается имеющейся памятью

Вопрос 3

Какими способами можно получить доступ к функции «fun()» из модуля «fns»?

  1.  import fns.fun as fun; fun()
  2.  from fns import fun; fun()
  3.  import fns.fun; fns.fun()

Вопрос 4

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

 
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()

Вопрос 5

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

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.  A, B, C
  2.  никакие
  3.  только B и C
  4.  только A и B
  5.  только B

Вопрос 6

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

def A(lst):
  def AA(x):
    return lst + [x]
  return AA
 
def B(x):
  def BB(lst):
    return lst + [x]
  return BB
 
def C(x, cache={}):
  if cache.has_key(x):
    return cache[x]
  def CC(lst):
    return lst + [x]
  cache[x] = CC
  return CC
 
  1.  никакие
  2.  только B и C
  3.  только C
  4.  A, B, C

Вопрос 7

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

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

Вопрос 8

Какую роль играет «xx» в Python-программе, и чему должен быть равен «XXX»:

 
class A:
  def xx():
    return A.__name__
  xx = XXX(xx)
 
  1.  статический метод, XXX равен staticmethod
  2.  функция, XXX можно опустить
  3.  метод, XXX равен instancemethod
  4.  метод класса, XXX равен classmethod

Вопрос 9

Что обычно делается для возврата более одного значения из функции?

  1.  значения можно вернуть через объекты, заданные в списке аргументов (как в C/C++)
  2.  возвращается кортеж значений
  3.  возвращается список значений
  4.  ничего; возвратить можно только одно значение

Вопрос 10

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

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


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