Вариант 1416502088.
Что будет выведено в результате выполнения сопоставления с регулярным выражением?
m = re.match("(a*?)(a+)(b+?)", "aaabbb") print(m.groups())
С помощью какого регулярного выражения можно найти все (ровно) пятикратные повторения цифры 0?
Может ли возникнуть deadlock в следующей программе:
import threading res_A = threading.Lock() res_B = threading.Lock() def proc1(): res_A.acquire() res_B.acquire() # ... res_B.release() res_A.release() def proc2(): res_A.acquire() res_B.acquire() # ... 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
С помощью какого из приведенных ниже сравнений можно установить, что x и y — это один и тот же объект?
Чему будет равно значение следующего выражения:
import numpy as np print(np.shape(np.array([[1, 2, 3], [4, 5, 6]])))
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()
Что будет получено в результате вычисления следующего выражения:
0 < [1, 4][1] < 3 and None
Каким из приведенных ниже способов можно убрать из строки s пробельные символы слева и справа?