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

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

Вариант 2154276724.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

Сколько общедоступных методов будет иметь экземпляр класса ABC и что возвратит вызов метода a()?

class A: 
    def a(self): 
        return 'a'
 
class B: 
    def b(self): 
        return 'b'  
 
class C: 
    def c(self): 
        return 'c'  
 
class AB(A, B): 
    def a(self): 
        return 'ab'
 
class BC(B, C): 
    def a(self): 
        return 'bc'
 
class ABC(AB, B, C): 
    def a(self): 
        return 'abc'
 


  1.  3, возвратит ab
  2.  5, возвратит a
  3.  3, возвратит abc
  4.  3, возвратит a

Вопрос 3

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

import sre as re
from re import compile
  1.  только имена sre и compile
  2.  только имена re и compile
  3.  имена sre, re и compile
  4.  нельзя одновременно делать import и «from … import»

Вопрос 4

Укажите набор атрибутов, которые считаются общедоступными, для экземпляров следующего класса:

 
class Example:
  def __init__(self, x, y):
    xy = x, y
    self.position = xy
    self._length = self.__len(x, y)
  def __len(self, x, y):
    return abs(x) + abs(y)
  def getlen(self):
    return self._length
 


  1.   getlen, _length, position
  2.   position
  3.   getlen, _length, position, __len, xy
  4.   getlen, position

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

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

[ " "]
  1.  str (строка)
  2.  tuple (кортеж)
  3.  array (массив)
  4.  это синтаксическая ошибка
  5.  list (список)

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

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

import threading
 
res_A = threading.Lock()
res_B = threading.Lock()
res_C = threading.Lock()
 
def proc1():
   res_A.acquire()
   res_B.acquire()
   res_C.acquire()
   # ...
   res_C.release()
   res_B.release()
   res_A.release()
 
def proc2():
   res_A.acquire()
   res_B.acquire()
   res_C.acquire()
   # ...
   res_C.release()
   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.  нет, не возникнет