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

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

Вариант 4025617847.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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


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

Вопрос 3

Имеется следующий массив:

b = array([[1, 2], [0, 1]])

Какие из приведенных ниже операций получения среза вызовут ошибку?


  1.  b[: , :]
  2.  b[:, 2]
  3.  b[0, ...]
  4.  b[...]

Вопрос 4

В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)

def f(x, y, z):
  global d1, d2
  # 1
  d1[(x, y)] = z
  # 2
  d2[z] = (x, y)
  # 3
  res = len(d2)
  # 4
  return res 


  1.  замок не нужен
  2.  1: Z.acquire(), 4: Z.release()
  3.  1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()
  4.  1: Z.acquire(), 3: Z.release()

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

Из какого модуля будет работать функция «replace()» в следующем примере:

from sre import sub as replace
from string import replace
  1.  из string
  2.  возникнет ошибка (конфликт имен)
  3.  из sre.string
  4.  sre.sub

Вопрос 8

Какое из приведенных ниже регулярных выражений некорректно?

  1.  (a+b+)+
  2.  a+b++
  3.  [a]*?
  4.  (?P<k>(ac))

Вопрос 9

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

 
import numpy as np
…
 

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


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

Вопрос 10

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

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