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

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

Вариант 4081658167.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

Как называется отношение, которое имеют следующие два класса:

 
class A(type):
  def __init__(cls, name, bases, dict):
    return super(A, cls).__init__(cls, name, bases, dict)
 
B = A("B", (), {})
 
  1.  ассоциация. A содержит ссылки на B
  2.  метакласс. A является метаклассом для B
  3.  метакласс. B является метаклассом для A
  4.  наследование. B получается наследованием A

Вопрос 3

Даны матрицы a и b.

 
import numpy as np
…
 

Как получить произведение матриц?


  1.  np.dot(a, b)
  2.  a * b
  3.  np.vdot(a, b)
  4.  np.product(a, b)

Вопрос 4

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

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

Вопрос 5

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

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

Вопрос 6

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

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

Вопрос 7

Может ли возникнуть deadlock в следующей программе:

 
import threading
 
res_A = threading.Lock()
res_B = threading.Lock()
res_C = threading.Lock()
 
def proc1():
   res_A.acquire(); res_B.acquire(); res_C.acquire()
   # ...
   res_B.release(); res_C.release(); res_A.release()
 
def proc2():
   res_B.acquire(); res_C.acquire(); res_A.acquire()
   # ...
   res_C.release(); res_B.release(); res_A.release()
 
def proc3():
   res_C.acquire(); res_A.acquire(); res_B.acquire()
   # ...
   res_A.release(); res_B.release(); res_C.release()
 
p1 = threading.Thread(target=proc1, name="t1")
p2 = threading.Thread(target=proc2, name="t2")
p3 = threading.Thread(target=proc3, name="t3")
p1.start(); p2.start(); p3.start()
p1.join(); p2.join(); p3.join();
 


  1.  да, возможно
  2.  да, обязательно
  3.  нет, не возникнет

Вопрос 8

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

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

Вопрос 9

Дан массив:

>>>c = array([[1,2], [2,3], [4,5]])

Чему равен срез c[1]?

  1.  array([2, 3])
  2.  array([1, 2, 4])
  3.  array([1, 2])
  4.  array([2, 3, 5])

Вопрос 10

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

a = 1
b = 2
a, b = b, a
print(a, b, a)
  1.  1 2 1
  2.  2 1 2
  3.  1 1 1 1 2 1
  4.  1 1 1