Python: ООП и классы - ответы на тесты Интуит
Все ответы: Проверка знаний синтаксиса и семантики конструкций языка Python, поддерживающих принципы объектно-ориентированного программирования и их использования для определения собственных типов (классов).
Конструктор класса задается методом с именем:
__new__
__init__
__construct__
new
init
Укажите результат выполнения скрипта:
constructor
destructor
constructor destructor
destructor constructor
Укажите результат выполнения скрипта:
0
1
2
Укажите результат выполнения скрипта:
[1, 2]
[1, 2] [1, 2, 2]
[1, 2] [1, 2, 2] [1, 2, 2, 2]
Укажите результат выполнения скрипта:
<class 'list'>
<class 'int'>
В языке Python
доступ через instance._class__attribute
:
Встроенный метод __setattr__
вызывается:
instance.attribute
instance.attribute
, если не найден атрибут, к которому идет обращение instance.attribute
или instance._class__attribute
instance.attribute
или instance._class__attribute
, если не найден атрибут, к которому идет обращение Укажите результат выполнения скрипта:
1 2 3
1 2
и сообщение об ошибке 1
и сообщение об ошибке Укажите результат выполнения скрипта:
1, b_0
1, b_1
a_0, b_0
a_1, b_1
Встроенный атрибут __mro__
в языке Python:
Укажите результат выполнения скрипта:
2.0
4.0
8.0
Укажите результат выполнения скрипта:
1
2
3
4
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Class1
object, Class2
Class1, object
Class2, object
Class2, Class1
Укажите результат выполнения скрипта:
1
2
Укажите результат выполнения скрипта:
0
1
2
a1
Для того, чтобы функция, определенная для типа A
работала с типом B
необходимо:
B
был наследником типа A
B
были определены все методы класса A
B
были определены все методы класса A
, применяющиеся в функции Укажите результат выполнения скрипта:
0
1
2
2
и сообщение о том, что у объекта нет метода fun
NotImplementedError
Укажите результат выполнения скрипта:
(0, 2, 3) 023
(1, 2, 3) 023
(0, 2, 3) 123
(1, 2, 3) 123
Укажите результат выполнения скрипта:
0
1
2
3
Укажите результат выполнения скрипта:
1212
33
24
6
Укажите результат выполнения скрипта:
1
3
5
3
и сообщение об ошибке 5
и сообщение об ошибке Укажите результат выполнения скрипта:
method
012
None
NameError
Укажите результат выполнения скрипта:
1 2 3 4
4 3 2 1
StopIteration
Укажите результат выполнения скрипта:
0 1 2
1 2 0
0 2 1
1 0 2
1 0
и сообщение об ошибке Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
weakref.proxy(obj)
weakref.proxy(obj.val)
weakref.proxy(obj.val[0])
weakref.ref(obj)
weakref.ref(obj.val)
Чем отличаются в языке Python
обычные модули от модулей расширения?
При импортировании модуля если в пространстве имен уже существует имя импортированного модуля, то:
Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 5
:
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
13
12
11
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 8
:
При попытке повторной сериализации объектов:
Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Скрипт b.py
содержит следующий код:
Укажите результат последовательного выполнения скриптов a.py
и b.py
:
[]
[0, 1, 2, 3]
b.py
не будет выполнен, т.к. код содержит ошибки Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
[5, 6, 7]
3
Укажите результат выполнения скрипта:
2 2
2 3
3 2
3 3
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
4 3
3 4
4 4
3 6
6 3
Методы класса содержатся в пространстве имен:
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 5
:
Cs.__dict__['method']=method
Cs.method=method
Cs.method=lambda i, x, y: x+y
o.__dict__['method']=method
o.method=method
Укажите результат выполнения скрипта:
<class '__main__.foo'> 0
<class '__main__.foo'> 1
<class 'type'> 0
<class 'type'> 1
Если в классе определен деструктор с двумя и более параметрами, то:
None
Укажите результат выполнения скрипта:
0
1
2
Укажите результат выполнения скрипта:
new
init
new init
init new
Укажите результат выполнения скрипта:
[]
[0]
[0, 0]
[0, 0, 0]
Укажите результат выполнения скрипта:
<class 'int'>
<class 'str'>
<class 'method'>
В языке Python
доступ через instance.attribute
разрешен к любым атрибутам кроме:
private
Встроенный метод __delattr__
вызывается:
instance.attribute
instance.attribute
, если не найден атрибут, к которому идет обращение instance.attribute
или instance._class__attribute
instance.attribute
или instance._class__attribute
, если не найден атрибут, к которому идет обращение Укажите результат выполнения скрипта:
1 2 3
1 2
и сообщение об ошибке 1
и сообщение об ошибке Укажите результат выполнения скрипта:
a_atr b_atr
1 b_atr
1 None
a_atr None
При наследовании в языке Python
порядок разрешения методов для "новых" классов (т.е. классов, наследников класса object
) определяется следующим образом:
Укажите результат выполнения скрипта:
[1, 2]
[1, 3]
[3, 2]
[3, 1]
Укажите результат выполнения скрипта:
21
13
23
15
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Foo
Foo, object
object, Bar
Bar, Foo
Foo, Bar, object
Укажите результат выполнения скрипта:
1
2
Укажите результат выполнения скрипта:
0 0b
2 1b
1 1b
2 2b
В языке Python
метод является абстрактным, если:
abstract
; @abstractmethod
Python
не существует встроенной программной реализации абстрактных методов Укажите результат выполнения скрипта:
2
3
4
fun
TypeError
с сообщением о невозможности инстанцирования абстрактного класса Укажите результат выполнения скрипта:
[0, 2, 3] (0, 2, 3)
[0, 2, 3] (1, 2, 3)
[1, 2, 3] (0, 2, 3)
[1, 2, 3] (1, 2, 3)
Укажите результат выполнения скрипта:
14
20
17
11
Укажите результат выполнения скрипта:
1212
33
24
6
Укажите результат выполнения скрипта:
5
7
9
Укажите результат выполнения скрипта:
0
1
(1, 2, 3)
NameError
Укажите результат выполнения скрипта:
1 2 3 4
4 3 2 1
StopIteration
Укажите результат выполнения скрипта:
0 1 2
1 2 0
0 2 1
1 0 2
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
weakref.proxy(obj)
weakref.proxy(obj.val)
weakref.proxy(obj.val[0])
weakref.ref(obj)
weakref.ref(obj.val)
В языке Python
при импортировании пакета, если файл __init__.py
отсутствует, то:
Встроенный атрибут объекта модуля __dict__
:
Файл mod.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка (1, 2, 3)
:
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
2
3
4
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 32
:
При сериализации и десериализации объектов произвольного класса необходимо, чтобы:
object
, т.е. сериализацию поддерживают только "новые классы"
Файл foo.py
содержит следующий код:
Укажите результат выполнения скрипта:
[]
[0, 1, 2, 3]
Укажите результат выполнения скрипта:
False False
False True
True False
True True
Укажите результат выполнения скрипта:
3
6
Укажите результат выполнения скрипта:
1 0
1 1
2 1
2 2
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
3 3
6 4
4 6
3 6
6 3
Метакласс класса C
можно определить по:
C.__metaclass__
C.__class__
type(C)
type(C())
class(C)
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 7
:
setattr(X, 'method', f)
setattr(X, 'method', classmethod(lambda i: len(i)))
X.__dict__['method']=classmethod(f)
X.method=lambda i: len(i)
X.method=classmethod(f)
Укажите результат выполнения скрипта:
<class '__main__.foo'> -1
<class '__main__.foo'> 1
<class '__main__.bar'> -2
<class '__main__.bar'> 2
Если в классе определены два метода с одинаковыми именами и разными списками параметров, то:
Укажите результат выполнения скрипта:
0
1
Укажите результат выполнения скрипта:
0 2 2
2 2
<class '__main__.Foo'> 0
<class '__main__.Foo'> 2 2
Укажите результат выполнения скрипта:
[0] [0]
[0] [0, 1]
[0, 1] [0, 1]
Укажите результат выполнения скрипта:
<class 'int'>
<class 'str'>
<class 'NoneType'>
В языке Python
доступ через instance._class__attribute
разрешен к:
Одиночное подчеркивание в начале имени атрибута класса указывает на:
instance._attribute
Укажите результат выполнения скрипта:
1 2 3
1 2
и сообщение об ошибке 1
и сообщение об ошибке Укажите результат выполнения скрипта:
a_1 a_1 b_1 b_1
a_1 a_0 b_1 b_0
a_1 b_1 None None
a_1 b_1 a_0 b_0
a_1 b_1 None None
При наследовании в языке Python
порядок разрешения методов для "классических" классов (т.е. классов, не являющихся наследниками класса object
) определяется следующим образом:
Укажите результат выполнения скрипта:
3
4
6
7
Укажите результат выполнения скрипта:
[0, 1, 2, 4]
[-1, 3, 5, 4]
[-2, 1, 2, 4]
[-2, 3, 5, 4]
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Class1, Class2
object, Class2, Class1
Class1, object, Class2
Class2, object, Class1
Class2, Class1, object
Class2, object
Укажите результат выполнения скрипта:
1
2
Укажите результат выполнения скрипта:
-2
-1
0
2
Исключение NotImplementedError
используется для:
Python
нет встроенного исключения NotImplementedError
Укажите результат выполнения скрипта:
2
3
4
TypeError
с сообщением о невозможности инстанцирования абстрактного класса Укажите результат выполнения скрипта:
12 12
12 112
22 12
22 112
Укажите результат выполнения скрипта:
3
8
9
14
Укажите результат выполнения скрипта:
6
6.0
24
24.0
Укажите результат выполнения скрипта:
5
7
9
Укажите результат выполнения скрипта:
method
012
None
NameError
Укажите результат выполнения скрипта:
H e l l o
o l l e H
Укажите результат выполнения скрипта:
0 1 2 3
0 3 1 2
3 0 2 1
1 0 3 2
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
weakref.proxy(obj)
weakref.proxy(obj.val)
weakref.proxy(obj.val[0])
weakref.ref(obj)
weakref.ref(obj.val)
Чем отличаются файлы *.py
от файлов *.pyc
:
*.pyc
- это откомпилированные файлы *.py
*.pyc
не могут быть подключены в качестве модулей, в отличие от файлов *.py
*.pyc
не имеют отношения к языку Python
В языке Python
при импортировании модуля с помощью инструкции from .. import *
:
Файл module.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 12
:
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
[1]
[1, 2]
[1, 3]
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 8
:
При десериализации объекта произвольного класса конструктор класса:
__getnewargs__
протокола копирования
__getstate__
и __setstate__
протокола копирования
Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Скрипт b.py
содержит следующий код:
Укажите результат последовательного выполнения скриптов a.py
и b.py
:
[]
[0, 1, 2, 3]
b.py
не будет выполнен, т.к. код содержит ошибки Укажите результат выполнения скрипта:
[] False False
[1, 2, [...]] False False
[1, 2, [...]] True False
[1, 2, [...]] True True
Укажите результат выполнения скрипта:
3
6
Укажите результат выполнения скрипта:
2 1
3 2
3 3
2 2
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
4 3
3 4
3 6
6 3
Метакласс М
для класса C
можно задать следующим образом:
C
__metaclass__
равным M C
__class__
равным M __type__
равным М
C
от metaclass=M
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 3
:
setattr(Cs, 'method', classmethod(method))
setattr(Cs, 'method', classmethod(lambda i, x: method(x)))
Cs.__dict__['method']=lambda i, x: method(x)
Cs.__dict__['method']=classmethod(method)
Cs.method=method
Укажите результат выполнения скрипта:
<class '__main__.baz'> -1
<class '__main__.foo'> -1
<class '__main__.foo'> -1
<class '__main__.bar'> -2
Значением поля класса по умолчанию может являться
Укажите результат выполнения скрипта:
1
2
2;1
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
[1, 1]
[1][1]
[1]
Укажите результат выполнения скрипта:
В языке Python
инкапсуляция достигается:
Прямой доступ к атрибуту класса нельзя получить, если:
private
Укажите результат выполнения скрипта:
Ошибка в пятой строке
Укажите результат выполнения скрипта:
ошибка при выполнении строки 'print o.a, o.b'
При наследовании в языке Python
:
Python
не наследуются Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
1
2
-3
0
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Foo
Foo, object
Foo, Bar
Bar, Foo
Foo, object, Bar
Bar, object
Укажите результат выполнения скрипта:
1
2
3
Укажите результат выполнения скрипта:
0
1
5
6
Для того, чтобы функция, определенная для типа A
работала с типом B
необходимо:
B
был наследником типа A
B
были определены все методы класса A
B
были определены все методы класса A
, применяющиеся в функции Укажите результат выполнения скрипта:
2
3
4
fun
NotImplementedError
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
4
11
14
21
Укажите результат выполнения скрипта:
3 3
3 12
12 3
12 12
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
None
class
NameError
Укажите результат выполнения скрипта:
1 2 3 4
4 3 2 1
и ошибка IndexError
Укажите результат выполнения скрипта:
H e l l o !
e l ! l H o
l ! l e o H
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
s
Foo()
weakref.proxy(s)
weakref.ref(s)
В языке Python
модулем называют:
Python
Python
В языке Python встроенная функция dir()
без аргументов используется для:
Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 9
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
3
9
27
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 81
:
Сериализация произвольных объектов необходима для:
Файл foo.py
содержит следующий код:
Скрипт содержит следующий код:
Укажите результат выполнения скрипта:
[]
[0, 1, 2, 3]
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
0
3
Укажите результат выполнения скрипта:
<class '__main__.Foo'> <class '__main__.Foo'>
<class '__main__.Foo'> <class 'int'>
<class 'int'> <class '__main__.Foo'>
<class 'int'> <class 'int'>
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
1 1
2 1
2 2
Метакласс - это:
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка hello<class '__main__.X'>
:
setattr(X, f.__name__, f)
setattr(X, method.__name__, f)
setattr(X, 'f', f)
setattr(X, 'method', method)
setattr(X, 'method', f)
Укажите результат выполнения скрипта:
<class '__main__.foo'> <class '__main__.foo'>
<class '__main__.foo'> <class '__main__.X'>
<class '__main__.X'> <class '__main__.foo'>
<class '__main__.X'> <class '__main__.X'>
В языке Python
объектами являются:
Укажите результат выполнения скрипта:
foo
del
Укажите результат выполнения скрипта:
0
1
2
Укажите результат выполнения скрипта:
(1, 2, 3) (1, 2, 3)
(1, 2) (1, 2, 3)
(1, 2) (1, 2)
Укажите результат выполнения скрипта:
[0]
(0,)
{'0': 0}
В языке Python
прямой доступ:
В языке Python
встроенный метод property()
используется для:
Укажите результат выполнения скрипта:
1 2 3
1 2 и сообщение об ошибке
1 и сообщение об ошибке
Укажите результат выполнения скрипта:
1, b_0
1, b_1
a_0, b_0
a_1, b_1
При наследовании в языке Python
приватные методы:
instance._child__method()
, так и через instance._parent__method()
(child
– имя подкласса, parent
– имя суперкласса)
instance._parent__method()
Укажите результат выполнения скрипта:
3
4
5
6
Укажите результат выполнения скрипта:
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Class1
object, Class2
Class1, object
Class2, object
Class1, Class2
Укажите результат выполнения скрипта:
1
2
Укажите результат выполнения скрипта:
0
1
2
3
Проверка на совместимость типов производится с помощью оператора
is
isinstance
instanceof
Python
не существует подобного механизма Укажите результат выполнения скрипта:
2
3
4
fun
NotImplementedError
Укажите результат выполнения скрипта:
4
и сообщение об ошибке доступа по ключу Укажите результат выполнения скрипта:
0
1
2
3
Укажите результат выполнения скрипта:
3 3
3 12
12 3
12 12
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
[1,2,3]
1
None
NameError
Укажите результат выполнения скрипта:
0 1 2 3
3 2 1 0
StopIteration
Укажите результат выполнения скрипта:
H e l l o !
e H l l ! o
H ! e o l l
H e o l ! l
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
weakref.proxy(lst)
weakref.proxy(lst[0])
weakref.proxy(Foo())
weakref.ref(lst[0])
weakref.ref(Foo())
В языке Python
пакетом называют:
Встроенный атрибут объекта модуля __dict__
содержит:
Файл mod.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Hello
:
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
0
[0]
(0,)
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 64
:
Модули Pickle
и cPickle
отличаются
Pickle
реализует алгоритм на Python
, а cPickle
на C
Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Скрипт b.py
содержит следующий код:
Укажите результат последовательного выполнения скриптов a.py
и b.py
:
[]
[0, 1, 2, 3]
b.py
не будет выполнен, т.к. код содержит ошибки Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
0
8
Укажите результат выполнения скрипта:
2 2
2 6
6 2
6 6
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
2 2
2 3
3 4
4 4
Метаклассами являются следующие встроенные классы:
object
type
metaclass
Python
нет встроенных метаклассов Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка hello
:
setattr(Cs, 'method', method)
setattr(Cs, 'method', lambda i: 'hello')
setattr(o, 'method', method)
setattr(o, 'method', lambda i: 'hello')
setattr(Cs, method.__name__, method)
Укажите результат выполнения скрипта:
0 <type 'type'>
2 <type 'type'>
0 <class '__main__.foo'>
2 <class '__main__.foo'>
Деструктор класса задается методом с именем:
__del__
__delete__
__destr__
__destruct__
Укажите результат выполнения скрипта:
construct
exist
Укажите результат выполнения скрипта:
3
4
5
6
Укажите результат выполнения скрипта:
[0] [0]
[0] [0, 1]
[0, 1] [0, 1]
Укажите результат выполнения скрипта:
<class 'str'>
<class 'str' 'NoneType'>
<class 'str' 'method'>
В языке Python
доступ через instance.attribute
:
Встроенный метод __getattr__
вызывается:
instance.attribute
instance.attribute
, если не найден атрибут, к которому идет обращение instance.attribute
или instance._class__attribute
instance.attribute
или instance._class__attribute
, если не найден атрибут, к которому идет обращение Укажите результат выполнения скрипта:
1 2 3
1 2 и сообщение об ошибке
1 и сообщение об ошибке
Укажите результат выполнения скрипта:
a_atr b_atr
1 b_atr
1 None
a_atr None
При наследовании в языке Python
:
Укажите результат выполнения скрипта:
3
4
5
6
Укажите результат выполнения скрипта:
3
5
6
8
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите вариант кода, при подстановке которого вместо знаков подчеркивания скрипт будет корректным:
object, Foo, Bar
Foo, object, Bar
Foo, Bar, object
Bar, Foo, object
Foo, object, Bar
object, Bar
Укажите результат выполнения скрипта:
1
2
Укажите результат выполнения скрипта:
0
3
0_a
3_a
Положительный результат выполнения проверки на совместимость типов оператором isinstance
означает, что
Python
не существует оператора isinstance
Укажите результат выполнения скрипта:
2
3
4
fun
NotImplementedError
Укажите результат выполнения скрипта:
4 4
4 1234
[1, 2, 3, 4] 4
[1, 2, 3, 4] 1234
Укажите результат выполнения скрипта:
4
3
2
1
Укажите результат выполнения скрипта:
0
1
2
122
Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
None
call method
NameError
Укажите результат выполнения скрипта:
IndexError
Укажите результат выполнения скрипта:
H e l l o !
H ! e o l l
! H o e l l
H e o l ! l
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка Error
:
obj.val
weakref.proxy(obj)
weakref.proxy(obj.val)
weakref.ref(obj)
weakref.ref(obj.val)
В языке Python
при импортировании модуля с помощью инструкции import M
:
Встроенный атрибут объекта модуля __name__
:
Файл module.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка [1]
:
Файл foo.py
содержит следующий код:
Файл foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Укажите результат выполнения скрипта:
2
4
8
Файл ../foo_p/__init__.py
содержит следующий код:
Файл ../foo_p/foo.py
содержит следующий код:
Файл ../foo_p/foo1.py
содержит следующий код:
Файл ../foo_p/foo2.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо подчеркивания результатом выполнения скрипта станет строка 32
:
Модули Pickle
и cPickle
сериализуют данные в формат:
utf-8
ASCII
ASCII
или двоичных символов Файл foo.py
содержит следующий код:
Скрипт a.py
содержит следующий код:
Скрипт b.py
содержит следующий код:
Укажите результат выполнения скрипта b.py
:
[]
[0, 1, 2, 3]
b.py
не будет выполнен, т.к. код содержит ошибки Укажите результат выполнения скрипта:
Укажите результат выполнения скрипта:
[0, 1, 2, 3]
4
Укажите результат выполнения скрипта:
4 4
4 5
5 4
5 5
Укажите результат выполнения скрипта:
1
и сообщение об ошибке 1 2
и сообщение об ошибке 1 2 3
Укажите результат выполнения скрипта:
2 2
2 3
3 4
4 4
Методы, определенные в метаклассе содержатся в пространстве имен:
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 3
:
setattr(X, f.__name__, lambda i, x, y : f(x,y))
setattr(X, method.__name__, f)
X.__dict__["method"] = f
X.__dict__[f.__name__] = lambda i, x, y : f(x,y)
X.method = f
Укажите результат выполнения скрипта:
<class '__main__.foo'> 0
<class '__main__.foo'> 1
<class 'type'> 0
<class 'type'> 1