Вы не авторизованы и не можете видеть весь контент сайта. Хотите авторизоваться?
Данный сайт использует куки. Это позволяет нам анализировать взаимодействие посетителей с сайтом и делать его лучше. Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie.
Вы можете установить этой сайт в виде иконки на рабочем столе
и использовать его как нативное приложение.
Хотите установить это веб-приложение?
Python для начинающих 009
<% normalizedTimer %>
Для чего применяется
```python
if __name__ == '__main__':
```
Вопрос № 1(Верно)(Неверно)
Ответы:
Такой конструкции не существует
Это абсолютно не на что не влияет, но так принято
Это необходимо, чтобы избежать запуска кода при импорте модуля
Код в данной секции не будет запущен при запуска модуля из консоли
Что выведет код?
```python
class A:
def __init__(self, name):
self.name = name
def __repr__(self):
return '%s from repr' %self.name
def __str__(self):
return '%s from str' % self.name
a = A('Tom')
print(a)
print((a, a))
```
Вопрос № 2(Верно)(Неверно)
Ответы:
<pre>Tom from repr
(Tom from repr, Tom from repr)</pre>
<pre>Tom from str
(Tom from str, Tom from str)</pre>
<pre>Tom from repr
(Tom from str, Tom from str)</pre>
<pre>Tom from str
(Tom from repr, Tom from repr)</pre>
<pre>Ничего из вышеперечисленного</pre>
Что выведет данный код?
```python
class Person:
def __init__(self, name):
self.name = name
def __repr__(self):
return "[Person: {}]".format(self.name)
def __str__(self):
return 'Person with name {}'.format(self.name)
person = Person('Tom')
print(person)
print([person])
```
Вопрос № 3(Верно)(Неверно)
Ответы:
<pre>Person: Tom
Person with name Tom</pre>
<pre>Person with name Tom
Person with name Tom</pre>
<pre>[[Person: Tom]]
[[Person: Tom]]</pre>
<pre>Person with name Tom
[[Person: Tom]]</pre>
<pre>[Person with name Tom]
Person: Tom</pre>
<pre>[[Person with name Tom]]
[[Person with name Tom]]</pre>
Дан код:
```python
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def getSalary(self):
return '{} has got {:.0f}'.format(self.name, self.salary)
def raiseSalary(self, percent):
self.salary *= (1 + percent / 100)
class Manager(Employee):
def raiseSalary(self, percent, bonus=25):
# ... ваш код здесь
employee1 = Employee("Tom", 10000)
employee1.raiseSalary(12)
employee2 = Manager('Bob', 20000)
employee2.raiseSalary(10)
print(employee1.getSalary())
print(employee2.getSalary())
```
<pre>Получаем такой вывод:
Tom has got 11200
Bob has got 27000
</pre>
Какой должен быть код в методе raiseSalary класса Manager?
Выберите все подходящие варианты:
Дан код:
```python
class A:
pass
class B(A):
pass
class C(A, str):
pass
class D(B, C):
pass
```
Выберете порядок классов при поиске атрибутов и методов (MRO).
Вопрос № 5(Верно)(Неверно)
Ответы:
D-> С->B->A->str->object
D-> B->C->A->str->object
D-> B->C->A->str
D->B->A->C->str->object
D->B->A->C->str
порядок будет всегда случайным
Дан код:
```python
class Animal:
def say(self):
print('Some sounds...')
class Cat(Animal):
def say(self):
super().say()
print('meow!')
animal1 = Animal()
animal2 = Animal()
animal3 = Cat()
animals = []
animals.append(animal1)
animals.append(animal2)
animals.append(animal3)
for animal in animals:
animal.say()
```
Является ли данный код проявлением полиморфизма?
Вопрос № 6(Верно)(Неверно)
Ответы:
Да, является
Нет, не является
Дан код:
```python
class Animal:
def say(self):
print('Some sounds...')
class Cat(Animal):
def say(self):
super().say()
print('meow!')
animal1 = Animal()
animal2 = Animal()
animal3 = Cat()
animals = []
animals.append(animal1)
animals.append(animal2)
animals.append(animal3)
for animal in animals:
animal.say()
```
Что он выведет?
Вопрос № 7(Верно)(Неверно)
Ответы:
<pre>Some sounds...
meow!
Some sounds...
meow!
meow!
Some sounds...</pre>
<pre>Some sounds...
Some sounds...
meow!</pre>
<pre>Some sounds...
<pre>Some sounds...
Some sounds...
meow!</pre>
<pre>Some sounds...
Some sounds...
Some sounds...</pre>
Дан код:
```python
class Person:
def __init__(self, name):
print("My name is {}".format(self.name))
class Driver(Person):
def __init__(self, name):
# ... ваш код
tom = Driver('Tom')
```
Что нужно добавить в конструктор класса Driver, чтобы вывод был таким:
<pre>
My name is Tom
I am a driver
</pre>
Вопрос № 8(Верно)(Неверно)
Ответы:
```python
print("I am a driver")
```
```python
Person.__init__(name)
print("I am a driver")
```
```python
Person.__init__(self, name)
print("I am a driver")
```
```python
super().__init__(name)
print("I am a driver")
```
```python
self.__init__(name)
print("I am a driver")
```
```python
super.__init__(name)
print("I am a driver")
```
```python
super(name)
print("I am a driver")
```
Зачем используется магический метод
<pre> __getarrr__</pre> ?
Вопрос № 9(Верно)(Неверно)
Ответы:
Такого магического метода нет.
Вызывается при обращении к несуществующему атрибуту, позволяет вернуть значение для несуществующего атрибута.
Вызывается при каждом обращении к атрибуту для возврата модифицированного значения.
Вызывается при обращении к атрибуту из заранее заданного списка для возврата модифицированного значения.
Даны два класса
```python
class Person:
def __init__ (self, name, job=None, pay=0):
self.name = name
self.job = job
self.pay = pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self, percent):
self.pay = int(self.pay * (1 + percent))
def __repr__ (self):
return ' [Person: %s, %s] ' % (self.name, self.pay)
class Manager:
def __init__ (self, name, pay) :
self.person = Person(name, 'mgr', pay)
def giveRaise(self, percent, bonus=.10):
self.person.giveRaise(percent + bonus)
def __getattr__ (self, attr):
return getattr(self.person, attr)
def __repr__ (self) :
return str (self.person)
```
Как называется передача поиска атрибута из экземпляра класса Manager в экземпляр класса Person?
Вопрос № 10(Верно)(Неверно)
Ответы:
наследование
композиция
агрегирование
делегирование
Пусть есть класс Department, конструктор которого принимает список экземпляров класса Person.
Как называется отношения элементов Department - Person?