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

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

Вариант 56635648.


Ваше имя*:


Вопрос 1

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

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

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

Вопрос 2

Получен новый пакет (в виде исходных кодов) для Python. Какова рекомендуемая процедура установки нового модуля, если известно, что он использует «distutils»?

  1.  выполнить в каталоге с развернутым пакетом команду «python setup.py install»
  2.  скопировать содержимое в каталог .../site-packages
  3.  выполнить «distutils --install имя модуля»
  4.  в Windows — запустить установщик

Вопрос 3

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

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

Вопрос 4

Даны матрицы a и b.

 
import numpy as np
…
 

Как получить произведение матриц?


  1.  np.vdot(a, b)
  2.  np.product(a, b)
  3.  a * b
  4.  np.dot(a, b)

Вопрос 5

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

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

Вопрос 6

Что можно узнать с помощью регулярного выражения r'([01]+)\1\1'?

  1.  троекратное повторение одной и той же строки из нулей и единиц, возможно, не подряд
  2.  наличие в строке нулей и единиц
  3.  наличие в строке нулей, единиц и обратной косой черты
  4.  троекратное повторение одной и той же строки из нулей и единиц подряд

Вопрос 7

Как называется отношение, которое имеют следующие два класса:

 
class A:
  def __init__(self, x):
    self._mydata = x
  def m1(self):
    raise NotImplementedError
 
class B(A):
  def __init__(self, x):
    super(B, self).__init__(x)
  def m1(self):
    return self._mydata
 
  1.  агрегация. Экземпляры A содержат экземпляры класса B
  2.  наследование. B получается наследованием A
  3.  наследование. A получается наследованием B
  4.  ассоциация. Экземпляры A содержат ссылки на экземпляры класса B

Вопрос 8

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

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

Вопрос 9

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

a = "AB"
b = "BC"
print("%sa, b" % a, b)
  1.  "AB", "BC"a, b
  2.  ('AB', 'BC')a, b
  3.  ABa, b BC
  4.  (AB, BC)a, b
  5.  сообщение об ошибке

Вопрос 10

Даны матрицы a и b.

 
import numpy as np
…
 

Как получить поэлементное произведение матриц?


  1.  a * b
  2.  np.product(a, b)
  3.  np.vdot(a, b)
  4.  np.dot(a, b)