Вариант 3358468542.
Класс имеет метод __call__(). Какому классу он может "подражать" и как пользоваться этим методом?
class A: #... def __call__(self, *params, **kws): #... a = A()
Чему будет равно значение следующего выражения:
import numpy as np print(np.shape(np.array([[1, 2], [3, 4], [5, 6]])))
Что делает следующая программа?
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()
Какого типа значение получится в результате вычисления следующего выражения:
(" ", )
Укажите набор атрибутов, которые считаются общедоступными, для экземпляров следующего класса:
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
( , " ")
Может ли возникнуть 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()
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()
Дан массив:
>>>c = array([[1,2], [2,3], [4,5]])
Чему равен срез c[:,1]?
Как называется отношение, которое имеют следующие два класса:
class A: def __init__(self, **atts): self._atts = atts def __repr__(self): return ":" + str(self._atts) class B(list): def __init__(self, *params): super(B, self).__init__(params)