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

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

Вариант 4201848567.


Ваше имя*:


Вопрос 1

В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)

def f(x, y, z):
  global d
  # 1
  d[(x, y)] = z
  # 2
  res = len(d)
  # 3
  return res


  1.  замок не нужен
  2.  1: Z.acquire(), 2: Z.release()
  3.  1: Z.acquire(), 3: Z.release()
  4.  1: Z.acquire(), 2: Z.release(), Z.acquire(), 3: Z.release()

Вопрос 2

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

import numpy as np
print(np.shape(np.array([[1, 2, 3], [4, 5, 6]]).flat))
  1.  (2, 3)
  2.  (6,)
  3.  (3,)
  4.  (3, 2)

Вопрос 3

Укажите набор атрибутов, которые считаются приватными, для экземпляров следующего класса:

 
class Ex:
  def __init__(self, x, y):
    xy = x, y
    self.position = xy
    self._length = self.__len(x, y)
  def __len(self, x, y):
    return abs(x) + abs(y)
  def getlen(self):
    return self._length
 


  1.   _length, __len, position
  2.   __len, xy, x, y, self
  3.   _length, __len
  4.   xy, x, y, self, _length, position

Вопрос 4

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

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

Вопрос 5

Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске):

import mdl
a = mdl.a
b = mdl.b()
reload(mdl)
  1.  объекты (a, b) изменятся в соответствии с новыми определениями
  2.  изменятся только классы, функции и т.п. (a)
  3.  имена из модуля (mdl.a, mdl.b) будут ссылаться на другие объекты. Старые объекты (a, b) не изменятся
  4.  изменится только mdl

Вопрос 6

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

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

Вопрос 7

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

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

Вопрос 8

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

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

Вопрос 9

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

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

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

Вопрос 10

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

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