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

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

Вариант 667318181.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

Какая операция выполняет пересечение множеств:

A = set([1, 2, 3])
B = set([2, 3, 7])
  1.  «A * B»
  2.  «A ^ B»
  3.  «A | B»
  4.  «A & B»

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

Имеется следующий генератор для слияния двух отсортированных последовательностей:

def merge(a1, a2):
 a1 = list(a1)
 a2 = list(a2)
 while a1 or a2:
   if a1 and (not a2 or a1[0] < a2[0]):
     r = a1
   else:
     r = a2
   yield r[0]
   del r[0]

Какие ошибки или особенности имеет эта программа?


  1.  ошибок нет
  2.  в последней строке каждый раз удаляется элемент из временного списка, а не из «a1» или «a2»: генератор зациклится
  3.  генератор оставит за собой временный список, так как «del» происходит после «yield»
  4.  генератор будет портить переданные ему списки

Вопрос 7

В каких точках программы необходимо выполнять 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()

Вопрос 8

Что такое «os.environ»?

  1.  функция для получения переменных окружения
  2.  системные константы Python
  3.  последовательность переменных окружения
  4.  словарь переменных окружения

Вопрос 9

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

a = "AB"
b = "BC"
print("%sa, b" % a, b)
  1.  (AB, BC)a, b
  2.  ('AB', 'BC')a, b
  3.  "AB", "BC"a, b
  4.  сообщение об ошибке
  5.  ABa, b BC

Вопрос 10

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

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