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

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

Вариант 144278457.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

Может ли возникнуть deadlock в следующей программе:

import threading
 
res_A = threading.Lock()
res_B = threading.Lock()
 
def proc1():
   res_A.acquire()
   res_B.acquire()
   # ...
   res_B.release()
   res_A.release()
 
def proc2():
   res_A.acquire()
   res_B.acquire()
   # ...
   res_B.release()
   res_A.release()
 
p1 = threading.Thread(target=proc1, name="t1")
p2 = threading.Thread(target=proc2, name="t2")
p1.start()
p2.start()
p1.join()
p2.join()


  1.  да, возможно
  2.  нет, не возникнет
  3.  да, обязательно

Вопрос 4

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

m = re.match("(a*?)(a+)(b+?)", "aaabbb")
print(m.groups())
  1.  ('aa', 'a', 'bbb')
  2.  (, 'aaa', 'b')
  3.  ('a', 'aa', 'b')
  4.  ('aa', 'a', 'b')

Вопрос 5

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

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

Вопрос 6

Какие встроенные функции служат для создания объектов определенного типа (конструкторы классов/функции-фабрики…)?

  1.  dict()
  2.  isinstance()
  3.  chr()

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

Какие новые имена появятся в текущем модуле после выполнения следующего кода:

import re
from re import compile
  1.  нельзя одновременно делать import и «from … import»
  2.  все имена из re (импорт compile был лишним)
  3.  только имена re и compile
  4.  только имя compile

Вопрос 10

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

S = 0
for i in range(1, 10):
  for j in range(1, 3):
    if i == j:
      S = S + i + j
      break
print(S)
  1.  6
  2.  0
  3.  12
  4.  сообщение об ошибке
  5.  2