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

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

Вариант 2656534338.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

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

 
class M(object):
  def xx(self):
    print "self:", self
 
  1.  метафункция
  2.  статистический метод
  3.  функция-фабрика
  4.  метод класса

Вопрос 5

Какой длины строки можно использовать в Python?

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

Вопрос 6

Что произойдет при повторном импорте модуля (в том же блоке кода) оператором import

  1.  программа завершится по ошибке
  2.  ничего
  3.  модуль будет заново загружен с диска

Вопрос 7

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

S = 0
for i in range(1, 10):
  for j in range(1, 3):
    if i == j:
      S = S + i + j
      break
print(S)
  1.  сообщение об ошибке
  2.  6
  3.  0
  4.  2
  5.  12

Вопрос 8

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

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

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

Вопрос 9

Что обычно делается для возврата более одного значения из функции?

  1.  возвращается список значений
  2.  возвращается кортеж значений
  3.  значения можно вернуть через объекты, заданные в списке аргументов (как в C/C++)
  4.  ничего; возвратить можно только одно значение

Вопрос 10

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

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


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