Главная / Программирование /
Язык программирования Python / Тест 14
Язык программирования Python - тест 14
Упражнение 1:
Номер 1
Какой из операторов соответствует следующему псевдокоду:
1 0 LOAD_FAST 0 (x)
3 PRINT_ITEM
4 LOAD_FAST 1 (y)
7 PRINT_ITEM
8 PRINT_NEWLINE
9 LOAD_CONST 0 (None)
12 RETURN_VALUE
Ответ:
 (1) def f(x, y): print [x, y] 
 (2) def f(x, y): print x, y, 
 (3) def f(x, y): print (x, y) 
 (4) def f(x, y): print x, y 
Номер 2
Какой из операторов соответствует следующему псевдокоду:
1 0 LOAD_FAST 0 (x)
3 LOAD_FAST 1 (y)
6 BUILD_TUPLE 2
9 PRINT_ITEM
10 PRINT_NEWLINE
11 LOAD_CONST 0 (None)
14 RETURN_VALUE
Ответ:
 (1) def f(x, y): print [x, y] 
 (2) def f(x, y): print x, y, 
 (3) def f(x, y): print (x, y) 
 (4) def f(x, y): print x, y 
Номер 3
Какой из операторов соответствует следующему псевдокоду:
1 0 LOAD_FAST 0 (x)
3 PRINT_ITEM
4 LOAD_FAST 1 (y)
7 PRINT_ITEM
8 LOAD_CONST 0 (None)
11 RETURN_VALUE
Ответ:
 (1) def f(x, y): print [x, y] 
 (2) def f(x, y): print x, y, 
 (3) def f(x, y): print (x, y) 
 (4) def f(x, y): print x, y 
Номер 4
Какой из операторов соответствует следующему псевдокоду:
1 0 LOAD_FAST 1 (y)
3 LOAD_ATTR 1 (a)
6 STORE_FAST 0 (x)
9 LOAD_CONST 0 (None)
12 RETURN_VALUE
Ответ:
 (1) def f(x, y): x.a = y 
 (2) def f(x, y): x.a = y.a 
 (3) def f(x, y): x = y.a 
 (4) def f(x, y): x[a] = y 
Номер 5
Какой из операторов соответствует следующему псевдокоду:
1 0 LOAD_FAST 1 (y)
3 LOAD_ATTR 1 (a)
6 LOAD_FAST 0 (x)
9 STORE_ATTR 1 (a)
12 LOAD_CONST 0 (None)
15 RETURN_VALUE
Ответ:
 (1) def f(x, y): x.a = y 
 (2) def f(x, y): x.a = y.a 
 (3) def f(x, y): x = y.a 
 (4) def f(x, y): x[a] = y 
Упражнение 2:
Номер 1
С помощью какого из приведенных ниже сравнений можно установить, что x
и y
— это один и тот же объект?
Ответ:
 (1) x == y 
 (2) id(x) == id(y) 
 (3) x is y 
 (4) hash(x) == hash(y) 
Номер 2
Какие из приведенных ниже сравнений обязательно дадут True
, если объекты x
и y
имеют одинаковые значения?
Ответ:
 (1) x == y 
 (2) id(x) == id(y) 
 (3) x is y 
 (4) hash(x) == hash(y) 
Номер 3
Какие из приведенных ниже сравнений могут дать True
, если объекты x
и y
имеют разные значения?
Ответ:
 (1) x == y 
 (2) id(x) == id(y) 
 (3) x is y 
 (4) hash(x) == hash(y) 
 (5) ни один из перечисленных 
Номер 4
С помощью функций какого модуля проще всего исследовать содержимое стека при обработке исключения в части except
?
Ответ:
 (1) dis
 
 (2) traceback
 
 (3) tb
 
 (4) inspect
 
Номер 5
Какой модуль содержит функции для построения деревьев синтаксического разбора?
Ответ:
 (1) symbol
 
 (2) tokenize
 
 (3) parser
 
 (4) inspect
 
Упражнение 3:
Номер 1
Как средствами самого Python определить имена формальных аргументов функции func()
, если известно, что функция написана на Python?
Ответ:
 (1) func.func_globals 
 (2) func.func_locals 
 (3) inspect.getargspec(func) 
 (4) никак 
Номер 2
Какое из следующих выражений дает файл и номер строки, из которой вызвана функция, содержащая выражение?
Ответ:
 (1) traceback.extract_stack()[0][:2] 
 (2) traceback.extract_stack()[-1][:2] 
 (3) traceback.extract_stack()[-2][:2] 
Номер 3
Как начать интерактивную отладку функции f
с двумя аргументами (условно: x
и y
)?
Ответ:
 (1) import pdb; pdb.runcall("f(x, y)") 
 (2) import pdb; pdb.runcall(f(x, y)) 
 (3) import pdb; pdb.runcall(f, (x, y)) 
 (4) import pdb; pdb.runcall(f, x, y) 
Номер 4
Как получить название модуля, в котором был определен класс объекта x
?
Ответ:
 (1) x.__module__.__name__ 
 (2) x.__module__ 
 (3) x.__class__.__module__ 
 (4) x.__class__.__module__.__name__ 
Номер 5
Как получить строку документирования к классу X
?
Ответ:
 (1) X.__doc__ 
 (2) inspect.getsource(X) 
 (3) inspect.getdoc(X) 
 (4) inspect.getcomments(X)