Вариант 4017283348.
Сколько элементов будет содержать словарь D (то есть, чему будет равно len(D)) после выполнения следующего кода:
D = {} D[1], D[2], D[3] = "ABB" D[0], D[1] = "AB"
Что делает следующая программа?
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()
В каких точках программы необходимо выполнять acquire() и release() замка Z, чтобы функция f могла правильно работать в многопоточном приложении? (Как обычно, нужно минимизировать общее время, на которое запирается замок)
def f(x): # 1 fc = open("file.txt", "w+") # 2 fc.write(x) # 3 fc.write("\n") # 4 fc.close() # 5
Каким из приведенных ниже способов можно убрать из строки s пробельные символы слева и справа?
Имеются следующие определения:
def m1(self): print("m1") class M: def m2(self): print("m2") m = M()
Какой из фрагментов кода содержит ошибки?
Может ли возникнуть 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_B.acquire(); res_C.acquire(); res_A.acquire() # ... res_C.release(); res_B.release(); res_A.release() def proc3(): res_C.acquire(); res_A.acquire(); res_B.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();
Сколько общедоступных методов будет иметь экземпляр класса 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'
Какие методы необходимо иметь x для задания следующих действий:
>>> x = X(0) >>> print x + 10 10 >>> print x - 23 -23 >>> print x >> 2 0
Что произойдет при повторном импорте модуля (в том же блоке кода) оператором import
Что будет выведено следующей программой?
a = "A" b = "B" a, b = b + a print(a + b)