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

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

Вариант 3953833932.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?

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

Вопрос 3

Что такое регулярное выражение?

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

Вопрос 4

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

import re
 
m = re.match("(?P<a>A*?)(?:B+)(?P<b>B+?)(?P<c>C??)", "AAAABBBBC")
print(m.groupdict())
  1.  {'a': 'AAAA', 'c': 'C', 'b': 'B'}
  2.  {'a': 'AAAA', 'b': 'B'}
  3.  {'a': 'AAAA', 'b': 'BBBB'}
  4.  {'a': 'AAAA', 'b': 'B', 'c': }

Вопрос 5

Какие методы необходимо иметь x для задания следующих действий:

>>> x = X(0)
>>> print x + 10
10
>>> print x - 23
-23
>>> print x >> 2
0


  1.  __init__, __add__, __radd__, __sub__, __rsub__, __rshift__, __rrshift__
  2.  __init__, __add__, __sub__, __rshift__, __str__, __repr__
  3.  __init__, __add__, __sub__, __rshift__
  4.  __init__, __add__, __sub__, __rshift__, __str__

Вопрос 6

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

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

Вопрос 7

С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?

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

Вопрос 8

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

 
import threading
 
class PR(threading.Thread):
  def __init__(self, n):
    threading.Thread.__init__(self, name="t" + n)
    self.n = n
  def run(self):
    import time
    time.sleep(1)
    print "*"
 
p1 = PR("1")
p2 = PR("2")
p1.start()
p2.start()
 
  1.  выводит одну звездочку и завершается
  2.  через секунду выводит звездочку, а затем через секунду — еще одну
  3.  выводит одну звездочку и зависает
  4.  выводит две звездочки спустя секунду после запуска

Вопрос 9

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

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

Вопрос 10

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

l = [1, 2, 3]
l[1] = l[1:2]
print(l[1])
  1.  [1]
  2.  [2]
  3.  2
  4.  [1, 2]
  5.  сообщение об ошибке