Вариант 2794053623.
Чему будет равно значение следующего выражения:
import numpy as np print(np.shape(np.array([[1, 2, 3], [4, 5, 6]])))
Имеется массив c, для которого shape(c) равна (2, 2, 2).
Какие из приведенных ниже операций получения среза вызовут ошибку?
Как называется отношение, которое имеют следующие два класса:
class A: def __init__(self, x): self._mydata = B(x) class B: def __init__(self, x): self._mydata = x
Что делает следующая программа?
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()
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()
Укажите набор атрибутов, которые считаются приватными, для экземпляров следующего класса:
class Ex: def __init__(self, x, y): xy = x, y self.position = xy self._length = self.__len(x, y) def __len(self, x, y): return abs(x) + abs(y) def getlen(self): return self._length
Может ли возникнуть 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_C.release() res_B.release() res_A.release() def proc2(): res_A.acquire() res_B.acquire() res_C.acquire() # ... res_C.release() 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() p2.join()
Имеется следующий генератор для слияния двух отсортированных последовательностей:
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]
Какие ошибки или особенности имеет эта программа?
Какого типа значение получится в результате вычисления следующего выражения:
( , " ")
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z): global d # 1 d[(x, y)] = z # 2 res = len(d) # 3 return res