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

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

Вариант 3024953405.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

L = []
L.append([1,2,3])
L = L*2
  1.  6
  2.  1
  3.  2
  4.  сообщение об ошибке
  5.  7
  6.  4

Вопрос 3

Класс имеет метод __call__(). Какому классу он может "подражать" и как пользоваться этим методом?

 
class A:
  #...
  def __call__(self, *params, **kws):
    #...
a = A()
 


  1.  кодовый объект. Пользоваться можно так: eval(a)
  2.  функция. Пользоваться можно так: b = a(2,3,4)
  3.  список. Пользоваться можно так: a[0] = 5
  4.  кортеж. Пользоваться можно так: a = (1, 2, 3)

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

Что делает следующая программа?

 
import threading
l = threading.RLock()
 
def proc(nm, n=0):
  l.acquire()
  try:
    if n < 5:
      print("*", end='')
      return proc(nm, n+1)
    else:
      return nm
  finally:
    l.release() 
 
for i in range(5):
  threading.Thread(target=proc, args=(str(i),)).start()
  1.  печатает 25 звездочек
  2.  печатает 5 звездочек
  3.  печатает 1 звездочку и зависает
  4.  аварийно завершается при попытке выполнить l.acquire() во второй раз
  5.  беспрерывно печатает звездочки

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

Каким из приведенных ниже способов можно привести латинские символы строки s к нижнему регистру?

  1.  s.lower()
  2.  s.replace('A-Z', 'a-z')
  3.  s.islower()
  4.  s.tolower()