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

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

Вариант 518847506.


Ваше имя*:


Вопрос 1

Имеются следующие определения:

 
def m1(self):
  print("m1")
 
class M:
  def m2(self):
    print("m2")
 
m = M()
 


Какой из фрагментов кода содержит ошибки?


  1.   m.m1 = m1; m.m1()
  2.   m.m1 = m1; m.m1(m)
  3.   M.m1 = m1; m.m1()
  4.   m.m1 = m.m2; m.m1()

Вопрос 2

Как определить функцию в Python?

  1.  с помощью ключевого слова «function»
  2.  заданием списка строк исходного кода
  3.  с помощью оператора import
  4.  с помощью lambda-выражения

Вопрос 3

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

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

Вопрос 4

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

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

Вопрос 5

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

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно
  2.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  3.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  4.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке

Вопрос 6

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

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

Вопрос 7

Какие из перечисленных функций имеют побочные эффекты:

def A(lst):
  def AA(x):
    return lst + [x]
  return AA
 
def B(x):
  def BB(lst):
    return lst + [x]
  return BB
 
def C(x, cache={}):
  if cache.has_key(x):
    return cache[x]
  def CC(lst):
    return lst + [x]
  cache[x] = CC
  return CC
 
  1.  только B и C
  2.  только C
  3.  A, B, C
  4.  никакие

Вопрос 8

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

(0 < 5 <= 3) and (0 / 0)
  1.  None
  2.  False (или 0)
  3.  будет возбуждено исключение ZeroDivisionError (деление на нуль)
  4.  синтаксическая ошибка
  5.  True (или 1)

Вопрос 9

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

  1.  s.split()
  2.  s.strip()
  3.  s.isspace()
  4.  s.trim()

Вопрос 10

Какую роль играет xx в следующей Python-программе

 
def xx(func):
  class X(object):
    pass
  setattr(X, func.__name__, func)
  return X
 
  1.  метод класса
  2.  метакласс
  3.  функция-фабрика
  4.  функция-фабрика классов