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

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

Вариант 2685720690.


Ваше имя*:


Вопрос 1

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

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

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

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

Вопрос 2

Какая операция выполняет пересечение множеств:

A = set([1, 2, 3])
B = set([2, 3, 7])
  1.  «A ^ B»
  2.  «A | B»
  3.  «A & B»
  4.  «A * B»

Вопрос 3

С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?

  1.  x == y
  2.  x is y
  3.  hash(x) == hash(y)

Вопрос 4

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

l = [1, 2, 3]
l[1] = l[1:2]
print(l[1])
  1.  сообщение об ошибке
  2.  [1]
  3.  [2]
  4.  [1, 2]
  5.  2

Вопрос 5

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

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

Вопрос 6

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

0 < [1, 4], [1] < 3
  1.  (True, False) или (1, 0)
  2.  False (или 0)
  3.  None
  4.  True (или 1)
  5.  это синтаксическая ошибка

Вопрос 7

Что является результатом применения функции «enumerate()» к последовательности «s»?

  1.  последовательность порядковых чисел в различных форматах (арабском, римском)
  2.  последовательность чисел от нуля до len(s)
  3.  кортеж из двух последовательностей: последовательность чисел от нуля до len(s) и исходная последовательность
  4.  последовательность кортежей. В каждом кортеже первый элемент — номер элемента исходной последовательности, а второй — соответствующий этому номеру член

Вопрос 8

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

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

Вопрос 9

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

 
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.  ассоциация. Экземпляры B содержат ссылки на экземпляры A
  3.  классы не связаны между собой
  4.  ассоциация. Экземпляры A содержат ссылки на экземпляры B

Вопрос 10

Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске):

import mdl
a = mdl.a
b = mdl.b()
reload(mdl)
  1.  изменится только mdl
  2.  изменятся только классы, функции и т.п. (a)
  3.  имена из модуля (mdl.a, mdl.b) будут ссылаться на другие объекты. Старые объекты (a, b) не изменятся
  4.  объекты (a, b) изменятся в соответствии с новыми определениями