Вариант 63686118.
Имеются следующие определения:
class A: def am(self): print "am" class B: def bm(self): print "bm" a = A() b = B()
Какой из фрагментов кода содержит ошибки?
Какие из перечисленных функций имеют побочные эффекты:
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])
Что будет выведено следующей программой?
A = B = 1 a = "A" * 5 b = "B" * 5 a = a + b * 5 print(a, b)
Какими способами можно получить доступ к функции «fun()» из модуля «fns»?
Какого типа значение получится в результате вычисления следующего выражения:
(" ")
Может ли возникнуть 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()
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x, y, z): global d1, d2 # 1 d1[(x, y)] = z # 2 d2[z] = (x, y) # 3 res = len(d2) # 4 return res
[ " "]
Какие встроенные функции возвращают в качестве значения словарь (или подобный объект)?
Чему будет равно значение следующего выражения:
import numpy as np print(np.shape(np.array([[1, 2, 3], [4, 5, 6]])))