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

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

Вариант 1029384750.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

 
def A(lst):
  return lambda x: lst + [x]
 
def B(x):
  return lambda lst: lst + [x]
 
def C(x, cache={}):
  return cache.setdefault(x, lambda lst: lst + [x])
 
  1.  A, B, C
  2.  только B и C
  3.  никакие
  4.  только C

Вопрос 4

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

L = []
L.extend([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  1
  2.  сообщение об ошибке
  3.  3
  4.  2
  5.  4

Вопрос 5

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

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  наследование. B получается наследованием A
  2.  метакласс. A является метаклассом для B
  3.  метакласс. B является метаклассом для A
  4.  ассоциация. A содержит ссылки на B

Вопрос 6

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

L = []
L.append([1,2,3])
L.insert(1, "abc")
del L[0][0]
  1.  3
  2.  2
  3.  1
  4.  сообщение об ошибке
  5.  4

Вопрос 7

Что делает следующая программа?

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  2.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  3.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  4.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке

Вопрос 8

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

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

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


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

Вопрос 9

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

  1.  s.split()
  2.  s.isspace()
  3.  s.trim()
  4.  s.strip()

Вопрос 10

Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?

  1.  vars()
  2.  globs()
  3.  enumerate()