Главная /
Python: ООП и классы /
Укажите результат выполнения скрипта: class foo(type): val=1 class bar(type): val=2 class A(object, metaclass=foo): val=-1 class B(object, metaclass=bar): val=-2 class C(A,B): pass print (type(C), C.val)
Укажите результат выполнения скрипта:
Правильный ответ:
<class '__main__.foo'> -1
<class '__main__.foo'> 1
<class '__main__.bar'> -2
<class '__main__.bar'> 2
скрипт не будет выполнен, т.к. код содержит ошибки
Сложность вопроса
44
Сложность курса: Python: ООП и классы
76
Оценить вопрос
Комментарии:
Аноним
Если бы не эти ответы - я бы сломался c этими тестами интуит.
11 окт 2017
Аноним
Очень сложные тесты
12 июл 2017
Другие ответы на вопросы из темы программирование интуит.
- # В языке Python метод является абстрактным, если:
- # Укажите результат выполнения скрипта: 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): __val__=0 def __add__(self, x): return Foo(self.__val__+self.__val__) o=Foo(1) b=Foo(2) print (b+o.fun())
- # Укажите результат выполнения скрипта: class Foo: def __init__(self, lst): self.lst = lst def __iter__(self): return self def __next__(self): return self.lst.pop() for i in Foo(list(range(4))): print (i+1, end=' ')
- # Укажите результат выполнения скрипта: class Foo: def __init__(self, lst): self.lst = lst self.cur = 1 def __next__(self): if self.lst: self.cur = 1 ^ self.cur return self.lst.pop(self.cur) else: raise StopIteration def __iter__(self): return self for i in Foo(list(range(3))): print (i, end=' ')
- # Укажите результат выполнения скрипта: class Foo(int): @classmethod def method(cls, val=3): if cls is Foo: return val+2 else: return val+3 @staticmethod def method1(cls, val=3): if cls is Foo: return val+2 else: return val+3 print (Foo.method(1), Foo.method1(1))