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

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

Вариант 4104991876.


Ваше имя*:


Вопрос 1

Дан массив:

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

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

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

Вопрос 2

Класс имеет методы «__iter__()» и «next()».

О чем это говорит и как пользоваться этим методом?

 
class A:
  #...
  def __iter__(self): 
    #...
  def next(self):
    #...
a = A(1, 2, 3)
 
  1.  генератор. Пользоваться можно так: for i in a(): print i
  2.  нет особого названия. Пользоваться можно так: print a.next()
  3.  итератор. Пользоваться можно так: for i in a: print i
  4.  последовательность. Пользоваться можно так: print a[2]

Вопрос 3

Какой длины строки можно использовать в Python?

  1.  256 символов
  2.  длина строк ограничивается имеющейся памятью
  3.  длины строк должны быть не больше, чем при их определении
  4.  65536 символов

Вопрос 4

Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?

  1.  dir()
  2.  locs()
  3.  enumerate()

Вопрос 5

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

 
import threading
ready = threading.Event()
 
def proc():
  ready.wait()
  print("Done!")
 
for i in range(5):
  p = threading.Thread(target=proc)
  p.start()
 
print("Prepare!")
ready.set()
 
  1.  программа запускает пять дополнительных потоков, один из которых печатает "Done!" после выполнения ready.set(), а остальные ждут следующего ready.set()
  2.  программа создает пять дополнительных потоков, которые запускаются после выполнения ready.set() в главном потоке
  3.  программа запускает пять дополнительных потоков, печатающих "Done!" после выполнения ready.set(), то есть, после печати "Prepare!"
  4.  программа запускает пять дополнительных потоков, печатающих "Done!" одновременно

Вопрос 6

С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?

  1.  0{1,5}[^0]
  2.  0{5}[^0]
  3.  00000
  4.  ([^0]|\A)0{5}([^0]|\Z)
  5.  00000([^0]|\Z)

Вопрос 7

Какого типа значение получится в результате вычисления следующего выражения:

(" ")
  1.  это синтаксическая ошибка
  2.  unicode (Unicode-строка)
  3.  str (строка)
  4.  tuple (кортеж)

Вопрос 8

Сколько общедоступных методов будет иметь экземпляр класса 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

Вопрос 9

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

import threading
 
class PR(threading.Thread):
  def __init__(self, n):
    threading.Thread.__init__(self, name="t" + n)
    self.n = n
  def run(self):
    import time
    time.sleep(1)
    print("*", end='')
 
p1 = PR("1")
p2 = PR("2")
p1.start()
p2.start()


  1.  выводит одну звездочку и завершается
  2.  через секунду выводит звездочку, а затем через секунду — еще одну
  3.  выводит две звездочки спустя секунду после запуска
  4.  выводит одну звездочку и зависает

Вопрос 10

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

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