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

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

Вариант 2038867656.


Ваше имя*:


Вопрос 1

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

 
class A:
  def __init__(self, **atts):
    self._atts = atts
  def __repr__(self):
    return ":" + str(self._atts)
 
class B(list):
  def __init__(self, *params):
    super(B, self).__init__(params)
 
  1.  агрегация. Экземпляры B содержат экземпляры A
  2.  ассоциация. Экземпляры A содержат ссылки на экземпляры B
  3.  классы не связаны между собой
  4.  ассоциация. Экземпляры B содержат ссылки на экземпляры A

Вопрос 2

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

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

Вопрос 3

Каким из приведенных ниже способов можно привести латинские символы строки s к нижнему регистру?

  1.  s.tolower()
  2.  s.replace('A-Z', 'a-z')
  3.  s.islower()
  4.  s.lower()

Вопрос 4

Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по 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

Вопрос 5

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

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

Вопрос 6

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

 
import numpy as np
…
 

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


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

Вопрос 7

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

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

Вопрос 8

Сокрытие информации о внутреннем устройстве объекта, при котором вся работа с объектом ведется только через общедоступный интерфейс называется

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

Вопрос 9

В каких местах допущены ошибки в генераторном выражении, выдающем список координат полей шахматной доски?

(j+str(i) for i in range(1, 9) for j in "abcdefgh")
  1.  ошибка в «j+str(i)»
  2.  ошибка в «for j in "abcdefgh"»
  3.  ошибок нет
  4.  ошибка в «for i in range(1, 9)»

Вопрос 10

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

(0 < 5 <= 3) and (0 / 0)
  1.  синтаксическая ошибка
  2.  False (или 0)
  3.  будет возбуждено исключение ZeroDivisionError (деление на нуль)
  4.  None
  5.  True (или 1)