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

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

Вариант 4123866432.


Ваше имя*:


Вопрос 1

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

lst = []
 
def A(lst, x):
  return lst + [x]
 
def B(x):
  lst.append(x)
  return lst
 
def C(lst, x):
  return lst.count(x)
  1.  только B и C
  2.  только A и B
  3.  только B
  4.  A, B, C
  5.  никакие

Вопрос 2

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

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

Вопрос 3

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

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.  A, B, C
  2.  только B и C
  3.  только C
  4.  никакие

Вопрос 4

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

S = "\n123\\"
  1.  4
  2.  сообщение об ошибке
  3.  7
  4.  3
  5.  5
  6.  6

Вопрос 5

Какими способами можно получить доступ к функции «fun()» из модуля «fns»?

  1.  import fns.fun as fun; fun()
  2.  import fns.fun; fns.fun()
  3.  import fns; fns.fun()

Вопрос 6

Из какого модуля будет работать функция «replace()» в следующем примере:

from sre import sub as replace
from string import replace
  1.  возникнет ошибка (конфликт имен)
  2.  sre.sub
  3.  из sre.string
  4.  из string

Вопрос 7

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

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

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

Вопрос 8

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

a = "A"
b = "B"
a, b = b + a
print(a + b)
  1.  ВА
  2.  сообщение об ошибке в третьей строке
  3.  АВ
  4.  АВА

Вопрос 9

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

import os
global v
v = 0
 
def A(x, y):
  return abs(x + y)
 
B = lambda k, v: os.environ.setdefault(k, v)
 
def C(x):
  global v
  v = v + 1
  return v + x


  1.  только A и C
  2.  только B и C
  3.  только C
  4.  A, B, C
  5.  никакие

Вопрос 10

Как называется отношение, которое имеют следующие два класса:

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  ассоциация. A содержит ссылки на B
  2.  наследование. B получается наследованием A
  3.  метакласс. A является метаклассом для B
  4.  метакласс. B является метаклассом для A