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

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

Вариант 877332361.


Ваше имя*:


Вопрос 1

Какие из приведенных ниже сравнений могут дать True, если объекты x и y имеют разные значения?

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

Вопрос 2

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

S = 0
for i in range(1, 10):
  if i % 2 == 0:
    S = S + i 
print(S)


  1.  0
  2.  30
  3.  20
  4.  1024
  5.  сообщение об ошибке
  6.  10

Вопрос 3

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

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')

Вопрос 4

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

( , " ")
  1.  tuple (кортеж)
  2.  str (строка)
  3.  это синтаксическая ошибка
  4.  unicode (Unicode-строка)

Вопрос 5

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

Вопрос 6

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

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

Вопрос 7

Какую роль играет xx в Python-программе, и чему должен быть равен XXX:

 
class A(object):
  def xx(cls, x):
    ...
  xx = XXX(xx)
 
  1.  статический метод, XXX равен staticmethod
  2.  функция, XXX можно опустить
  3.  метод класса, XXX равен classmethod
  4.  метод, XXX равен instancemethod

Вопрос 8

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

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

Вопрос 9

Имеется массив c, для которого shape(c) равна (2, 2, 2).

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

  1.  c[::2,1]
  2.  c[1,2]
  3.  c[...,1]
  4.  c[:,-1]

Вопрос 10

Какое из приведенных ниже регулярных выражений некорректно?

  1.  (?P<k>(ac))
  2.  [a]*?
  3.  a+b++
  4.  (a+b+)+