Меню
Тесты
Тесты  /  Прочее  /  4 класс  /  Тест "Объектно-ориентированное программирование на Python"

Тест "Объектно-ориентированное программирование на Python"

Avatar
19.06.2020. Тест. Прочее, 4 класс
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Тест "Объектно-ориентированное программирование на Python" для гр ПИ2

Список вопросов теста

Вопрос 1

Конструктор класса задается методом с именем:

Варианты ответов
  • __new__
  • __init__
  • __construct__
  • имя конструктора совпадает с именем класса
Вопрос 2

Если в классе определен деструктор с двумя и более параметрами, то:

Варианты ответов
  • будет сгенерирована ошибка, т.к. деструктор не может иметь более одного параметра
  • ) будет сгенерировано предупреждение, и такой деструктор должен вызываться только явно
  • не будет сгенерировано ни предупреждения, ни ошибки; при неявном вызове деструктора значение параметра будет равно None
  • предупреждения не будет сгенерировано, но такой деструктор должен вызываться только явно
Вопрос 3

Если в классе определены два метода с одинаковыми именами и разными списками параметров, то:

Варианты ответов
  • ) при выполнении скрипта будет сгенерирована ошибка
  • будет сгенерировано предупреждение, второе определение заменит первое
  • не будет сгенерировано ни предупреждения, ни ошибки; второе определение заменит первое
  • не будет сгенерировано ни предупреждения, ни ошибки; вызов того или иного метода будет зависеть от типа и количества указанных при вызове параметров
Вопрос 4

Значением поля класса по умолчанию может являться

Варианты ответов
  • значение переменной
  • константа
  • результат вызова функции
  • возможность указания значений полей по умолчанию в Python не предусмотрена
Вопрос 5

В языке Python объектами являются:

Варианты ответов
  • экземпляры классов и переменные
  • экземпляры классов, переменные и функции
  • экземпляры классов, классы и переменные
  • все типы данных
Вопрос 6

Деструктор класса задается методом с именем:

Варианты ответов
  • __del__
  • delete
  • __destr__
  • __destruct__
Вопрос 7

Укажите результат выполнения скрипта:

class Foo:

    def __init__(self):

        print ('constructor', end=' ')

    self.__del__(self)

    def __del__(self):

        print ('destructor', end=' ')

obj = Foo()

Варианты ответов
  • constructor
  • destructor
  • constructor destructor
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 8

Укажите результат выполнения скрипта:

x=0

class Foo:

    count=x

    def __init__(self):

        self.count+=1

    def __del(self):

        self.count+=1

obj = Foo()

print (obj.count)

Варианты ответов
  • 0
  • 1
  • 2
  • пустая строка
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 9

Укажите результат выполнения скрипта:

class Foo:

    count=0

    def __init(self):

        self.count+=1

obj = Foo()

print (obj.count)

Варианты ответов
  • 0
  • 1
  • пустая строка
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 10

Укажите результат выполнения скрипта:

class Foo:

    def foo(self):

        print ('1')

    def __init__(self):

        print ('2')

x = Foo()

Варианты ответов
  • 1
  • 2
  • 2;1
  • пустая строка
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 11

Укажите результат выполнения скрипта:

class Foo:

        def foo(self):

               print ('foo')

               del self

        def __del__(self):

               print ('del')

obj = Foo()

obj.foo()

Варианты ответов
  • foo
  • del
  • del foo
  • foo del
Вопрос 12

Укажите результат выполнения скрипта:

class Foo:

        def __init__(self):

               print ('construct')

               del self

obj = Foo()

if obj: print ('exist')

Варианты ответов
  • construct
  • exist
  • construct exist
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 13

Укажите результат выполнения скрипта:

class Foo (object):

    obj=0

    def __new__(cls,*dt,**mp):

        return object.__new__(cls,*dt,**mp).obj

    def __add__(self, x):

        return self.obj+2*x

o = Foo()

o+=1

print (o)

Варианты ответов
  • 0
  • 1
  • 2
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 14

Укажите результат выполнения скрипта:

class Foo (object):

    def __new__(cls,*dt,**mp):

        print ('new', end=' ')

    def __init__(self):

        print ('init', end=' ')

o = Foo()

Варианты ответов
  • new
  • init
  • new init
  • скрипт не будет выполнен, т.к. код содержит ошибки
  • init new
Вопрос 15

Укажите результат выполнения скрипта:

class Foo (object):

    obj=0

    def __new__(cls,*dt,**mp):

        print (cls, end=' ')

        return object.__new__(cls,*dt,**mp).obj

    def __init__(self):

        self.obj+=2

        print (self, end=' ')

    def __str__(self, x):

        return obj

o = Foo()

print (o, end=' ')

Варианты ответов
  • 0 2 2
  • 2 2
  • 0
  • 2 2
  • скрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 16

Укажите результат выполнения скрипта:

class Foo (object):

        obj=0

        def __new__(cls,*dt,**mp):

               print ('1')

               return object.__new__(cls,*dt,**mp).obj

        def __init__(self):

               print ('2')

o = Foo()

print (type (o))

Варианты ответов
  • 1 2
  • 2
  • 1
  • 2 1
  • cкрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 17

Укажите результат выполнения скрипта:

class Foo (object):

        obj=0

        def __new__(cls,*dt,**mp):

               obj=1

        def __init__(self):

               self.obj=2

o = Foo()

print (o.obj)

Варианты ответов
  • 0
  • 1
  • 2
  • cкрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 18

Укажите результат выполнения скрипта:

class Foo (object):

        obj=0

        def __new__(cls,*dt,**mp):

               cls.obj+=1

               return object.__new__(cls,*dt,**mp)

        def __init__(self):

               self.obj=self+2

        def __add__(self, x):

               return self.obj+2*x

o = Foo()

print (o.obj)

Варианты ответов
  • 3
  • 4
  • 5
  • 6
  • cкрипт не будет выполнен, т.к. код содержит ошибки
Вопрос 19

Файл foo.py содержит следующий код:

class Foo(object):

        def __init__ (self, x): self.val=x

        def __str__ (self): return str(self.val)

 

Скрипт a.py содержит следующий код:

import pickle, foo

o = foo.Foo(list(range(4)))

with open('temp.pkl', 'wb') as f:

        pickle.dump(o, f, pickle.HIGHEST_PROTOCOL)

 

Скрипт b.py содержит следующий код:

import pickle

with open('temp.pkl', 'r') as f:

        x = pickle.load(f)

print (x)

Укажите результат последовательного выполнения скриптов a.py и b.py:

Варианты ответов
  • пустая строка
  • [ ]
  • [0, 1, 2, 3]
  • скрипт b.py не будет выполнен, т.к. код содержит ошибки
Вопрос 20

Укажите результат выполнения скрипта:

import pickle

a = [1, 2]

b = [3, 4]

a.append(b)

b.append(a)

 

with open('temp.pkl', 'w') as f:

    pickle.dump(a, f, pickle.HIGHEST_PROTOCOL)

   

with open('temp.pkl', 'r') as f:

    c = pickle.load(f)

with open('temp.pkl', 'w') as f:

    pickle.dump(b, f, pickle.HIGHEST_PROTOCOL)

   

with open('temp.pkl', 'r') as f:

    d = pickle.load(f)

print (c, d)

Варианты ответов
  • False False
  • False True
  • True False
  • True True
  • скрипт не будет выполнен, т.к. код содержит ошибки
Пройти тест
Сохранить у себя:

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт