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

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

Вариант 1614445989.


Ваше имя*:


Вопрос 1

Что делает следующая программа?

 
import threading
l = threading.RLock()
 
def proc(nm, n=0):
  l.acquire()
  try:
    if n < 5:
      print("*", end='')
      return proc(nm, n+1)
    else:
      return nm
  finally:
    l.release() 
 
for i in range(5):
  threading.Thread(target=proc, args=(str(i),)).start()
  1.  печатает 1 звездочку и зависает
  2.  аварийно завершается при попытке выполнить l.acquire() во второй раз
  3.  беспрерывно печатает звездочки
  4.  печатает 25 звездочек
  5.  печатает 5 звездочек

Вопрос 2

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

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

Вопрос 3

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

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

Вопрос 4

С помощью какой функции можно организовать цикл с параметром («for»)?

  1.  xrange()
  2.  id()
  3.  range()
  4.  reload()

Вопрос 5

Дан массив:

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

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

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

Вопрос 6

Что является результатом применения функции «enumerate()» к последовательности «s»?

  1.  последовательность чисел от нуля до len(s)
  2.  кортеж из двух последовательностей: последовательность чисел от нуля до len(s) и исходная последовательность
  3.  последовательность порядковых чисел в различных форматах (арабском, римском)
  4.  последовательность кортежей. В каждом кортеже первый элемент — номер элемента исходной последовательности, а второй — соответствующий этому номеру член

Вопрос 7

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

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

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

Вопрос 8

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

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

Вопрос 9

Сокрытие информации о внутреннем устройстве объекта, при котором вся работа с объектом ведется только через общедоступный интерфейс называется

  1.  декомпозицией
  2.  абстракцией
  3.  инкапсуляцией
  4.  агрегацией

Вопрос 10

Сколько общедоступных методов будет иметь экземпляр класса ABC и что возвратит вызов метода a()?

class A: 
    def a(self): 
        return 'a'
 
class B: 
    def b(self): 
        return 'b'  
 
class C: 
    def c(self): 
        return 'c'  
 
class AB(A, B): 
    def a(self): 
        return 'ab'
 
class BC(B, C): 
    def a(self): 
        return 'bc'
 
class ABC(AB, B, C): 
    def a(self): 
        return 'abc'
 


  1.  3, возвратит a
  2.  5, возвратит a
  3.  3, возвратит ab
  4.  3, возвратит abc