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

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

Вариант 2421411304.


Ваше имя*:


Вопрос 1

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

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

Вопрос 2

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

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

Вопрос 3

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

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


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

Вопрос 4

Для чего в регулярном выражении используется "\w"?

  1.  для обозначения границы слова
  2.  для обозначения буквы или цифры
  3.  для обозначения символа, который не является ни буквой, ни цифрой
  4.  для обозначения того, что в этом месте нет границы слова

Вопрос 5

В каких точках программы необходимо выполнять 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(), 4: Z.release()
  3.  замок не нужен
  4.  1: Z.acquire(), 3: Z.release()

Вопрос 6

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

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

Вопрос 7

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

S = 0
for i in range(1, 10):
  if i % 2 == 0:
    S = S + i 
print(S)


  1.  0
  2.  20
  3.  30
  4.  10
  5.  1024
  6.  сообщение об ошибке

Вопрос 8

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

 
class A:
  def __init__(self, x):
    self._mydata = B(x)
 
class B:
  def __init__(self, x):
    self._mydata = x
 
  1.  наследование. A получается наследованием B
  2.  ассоциация. Экземпляр A содержит ссылки на экземпляры B
  3.  метакласс. B является метаклассом для A
  4.  метакласс. A является метаклассом для B

Вопрос 9

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

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

Вопрос 10

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

import sre as re
from re import compile
  1.  нельзя одновременно делать import и «from … import»
  2.  имена sre, re и compile
  3.  только имена re и compile
  4.  только имена sre и compile