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

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

Вариант 2949062880.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

def f(x):
  # 1
  fc = open("file.txt", "w+")
  # 2
  fc.write(x)
  # 3
  fc.write("\n")
  # 4
  fc.close()
  # 5


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

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

Какие встроенные функции служат для создания объектов определенного типа (конструкторы классов/функции-фабрики…)?

  1.  chr()
  2.  isinstance()
  3.  dict()

Вопрос 8

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

import re
from re import compile
  1.  все имена из re (импорт compile был лишним)
  2.  только имя compile
  3.  нельзя одновременно делать import и «from … import»
  4.  только имена re и compile

Вопрос 9

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

[x for x in itertools.takewhile(lambda x: x < 23, itertools.count(10))]
  1.  13
  2.  10
  3.  0
  4.  23

Вопрос 10

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

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