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

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

Вариант 3928077530.


Ваше имя*:


Вопрос 1

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

 
class Example:
  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.   getlen, position
  2.   position
  3.   getlen, _length, position
  4.   getlen, _length, position, __len, xy

Вопрос 2

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

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', 'b': 'B', 'c': }
  3.  {'a': 'AAAA', 'c': 'C', 'b': 'B'}
  4.  {'a': 'AAAA', 'b': 'BBBB'}

Вопрос 3

Класс имеет методы «__iter__()» и «next()».

О чем это говорит и как пользоваться этим методом?

 
class A:
  #...
  def __iter__(self): 
    #...
  def next(self):
    #...
a = A(1, 2, 3)
 
  1.  генератор. Пользоваться можно так: for i in a(): print i
  2.  последовательность. Пользоваться можно так: print a[2]
  3.  нет особого названия. Пользоваться можно так: print a.next()
  4.  итератор. Пользоваться можно так: for i in a: print i

Вопрос 4

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

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


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

Вопрос 5

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

[x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
  1.  23
  2.  13
  3.  10
  4.  0

Вопрос 6

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

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

Вопрос 7

Как определить функцию в Python?

  1.  с помощью оператора «def»
  2.  заданием списка строк исходного кода
  3.  с помощью оператора import
  4.  с помощью ключевого слова «function»

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

Что произойдет при повторном импорте модуля (в том же блоке кода) оператором import

  1.  ничего
  2.  программа завершится по ошибке
  3.  модуль будет заново загружен с диска