Вариант 1032368811.
Что будет получено в результате вычисления следующего выражения:
(0 < [1, 4][1] < 3) + 1
Может ли возникнуть 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_A.acquire(); res_B.acquire(); res_C.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_A.acquire(); res_B.acquire(); res_C.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();
Какие новые имена появятся в текущем модуле после выполнения следующего кода:
import sre as re from re import compile
Какие из приведенных ниже сравнений обязательно дадут True, если объекты x и y имеют одинаковые значения?
Чему будет равно значение следующего выражения:
import numpy as np print(np.shape(np.array([[1, 2, 3], [4, 5, 6]])))
Имеется массив c, для которого shape(c) равна (2, 2, 2).
Какие из приведенных ниже операций получения среза вызовут ошибку?
Какие из перечисленных функций имеют побочные эффекты:
def A(lst): return lambda x: lst + [x] def B(x): return lambda lst: lst + [x] def C(x, cache={}): return cache.setdefault(x, lambda lst: lst + [x])
Укажите набор атрибутов, которые считаются общедоступными, для экземпляров следующего класса:
class Example: 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
Что делает следующая программа?
import threading l = threading.Lock() 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()
Что произойдет со старыми объектами модуля, используемыми в программе, при его перезагрузке по reload() (после изменения на диске):
import mdl a = mdl.a b = mdl.b() reload(mdl)