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

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

Вариант 426653601.


Ваше имя*:


Вопрос 1

Какими способами можно получить доступ к функции «fun()» из модуля «fns»?

  1.  import fns.fun; fns.fun()
  2.  import fns.fun as fun; fun()
  3.  import fns; fns.fun()

Вопрос 2

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

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

Вопрос 3

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

import os
global v
v = 0
 
def A(x, y):
  return abs(x + y)
 
B = lambda k, v: os.environ.setdefault(k, v)
 
def C(x):
  global v
  v = v + 1
  return v + x


  1.  только A и C
  2.  только B и C
  3.  только C
  4.  никакие
  5.  A, B, C

Вопрос 4

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

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

Вопрос 5

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

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


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

Вопрос 6

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

S = "\n123\\"
  1.  3
  2.  сообщение об ошибке
  3.  7
  4.  4
  5.  6
  6.  5

Вопрос 7

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

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.  сообщение об ошибке
  2.  0
  3.  12
  4.  2
  5.  6

Вопрос 8

Какую роль играет xx в следующей Python-программе

 
def xx(func):
  class X(object):
    pass
  setattr(X, func.__name__, func)
  return X
 
  1.  функция-фабрика
  2.  функция-фабрика классов
  3.  метод класса
  4.  метакласс

Вопрос 9

Для чего в регулярном выражении используется "\w"?

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

Вопрос 10

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

def f(x):
  # 1
  fc = open("file.txt", "w+")
  # 2
  fc.write(x)
  # 3
  fc.write("\n")
  # 4
  fc.close()
  # 5


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