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

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

Вариант 1427087133.


Ваше имя*:


Вопрос 1

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

import threading
l = threading.Lock()
 
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.  аварийно завершается при попытке выполнить l.acquire() во второй раз
  2.  беспрерывно печатает звездочки
  3.  печатает 5 звездочек
  4.  печатает 25 звездочек
  5.  печатает 1 звездочку и зависает

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

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

import numpy as np
print(np.size(np.ones((2, 5))))
  1.  10
  2.  array([2, 5])
  3.  (5, 2)
  4.  (2, 5)

Вопрос 5

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

 
import numpy as np
print( np.shape(np.transpose(np.ones((2, 3, 4)))) )
 
  1.  (3, 2, 4)
  2.  (3, 4, 2)
  3.  (4, 3, 2)
  4.  (2, 4, 3)

Вопрос 6

Карринг — это...

  1.  возврат объекта-функции из другой функции
  2.  получение новой функции на основе заданной функции, при котором часть аргументов получает значение
  3.  передача функции в другую функцию
  4.  перенос параметров функции в ее результат

Вопрос 7

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

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


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

Вопрос 8

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

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

Вопрос 9

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

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

Вопрос 10

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

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

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