Главная /
Python: ООП и классы /
Скрипт содержит следующий код: def foo(f): class X(object): pass ___________ return X def method(self): return 'hello' Cs = foo(method) o = Cs() print (o.method(), type(o)) Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке котор
Скрипт содержит следующий код:
Среди приведенных ниже фрагментов укажите все варианты кода, при подстановке которого вместо знаков подчеркивания результатом выполнения скрипта станет строка 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)
Сложность вопроса
64
Сложность курса: Python: ООП и классы
76
Оценить вопрос
Комментарии:
Аноним
Зачёт всё. Иду отмечать отмечать халяву с тестами интуит
16 апр 2020
Аноним
Очень сложные тесты
21 май 2019
Другие ответы на вопросы из темы программирование интуит.
- # Укажите результат выполнения скрипта: class Foo (object): __val__=[0] def m1 (self): self.__val__+=[1] def m2 (self): self.__val__+=[2] class Bar (Foo): __val__=[-1] def m1 (self): self.__val__+=[3] def m3 (self): self.__val__+=[4] class Baz (Bar): __val__=[-2] def m2 (self): self.__val__+=[5] o = Baz() o.m1() o.m2() o.m3() print (o.__val__)
- # Укажите результат выполнения скрипта: from abc import abstractmethod class Base(): __val__=0 def __add__(self, x): return self.__val__+x.__val__ @abstractmethod def fun (self): pass class Foo(Base): __val__=1 def fun(self): return 2 o=Foo() b=Foo() print ((b+o).fun())
- # Укажите результат выполнения скрипта: from abc import abstractmethod, ABCMeta class Base(metaclass=ABCMeta): def __init__(self, x): self.__val__=x def __add__(self, x): return Base(self.__val__+self.__val__) @abstractmethod def fun (self): pass def val(self): return self.__val__ class Foo(Base): def fun(self): return self.__val__ o=Foo(1) b=Foo(2) print ((b+o.fun()).val())
- # Укажите результат выполнения скрипта: class Foo(object): val = 0 def fun(self): try: self.val[0]=0 return self.val except TypeError: return self.val o=Foo() o.val=[1,2,3] print (o.fun(), end=' ') o.val=(1, 2, 3) print (o.fun(), end=' ')
- # Методы, определенные в метаклассе содержатся в пространстве имен: