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

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

Вариант 907608238.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?

  1.  ([^0]|\A)0{5}([^0]|\Z)
  2.  0{1,5}[^0]
  3.  00000
  4.  00000([^0]|\Z)
  5.  0{5}[^0]

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

 
class A:
  def __init__(self, x):
    self._mydata = B(x)
 
class B:
  def __init__(self, x):
    self._mydata = x
 
  1.  наследование. A получается наследованием B
  2.  метакласс. A является метаклассом для B
  3.  ассоциация. Экземпляр A содержит ссылки на экземпляры B
  4.  метакласс. B является метаклассом для A

Вопрос 8

Какой длины строки можно использовать в Python?

  1.  65536 символов
  2.  длины строк должны быть не больше, чем при их определении
  3.  длина строк ограничивается имеющейся памятью
  4.  256 символов

Вопрос 9

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

  1.  locals()
  2.  enumerate()
  3.  directory()

Вопрос 10

Может ли возникнуть 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.  да, возможно