Вы не авторизованы и не можете видеть весь контент сайта. Хотите авторизоваться?
Данный сайт использует куки. Это позволяет нам анализировать взаимодействие посетителей с сайтом и делать его лучше. Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie.
Вы можете установить этой сайт в виде иконки на рабочем столе
и использовать его как нативное приложение.
Хотите установить это веб-приложение?
Python для начинающих 007
<% normalizedTimer %>
Верно ли утверждение:
"Мы можем иметь только один экземпляр отдельного модуля в памяти, но для классов допускается создавать столько экземпляров, сколько нужно."
Вопрос № 1(Верно)(Неверно)
Ответы:
Верно
Неверно
Дан код:
```python
class Car:
def move(self):
print("Машина едет")
car = Car()
```
Вам нужно вызвать метод для экземпляра класса. Какие из вызовов будут корректными?
Вопрос № 2(Верно)(Неверно)
Ответы:
car.move(self)
car.move()
Car.move()
Car.move(car)
Дан код:
```python
class A:
x = 1
class B:
def setting(self, y):
y.self = 2
a = A()
print(a.x)
b = B()
print(b.y)
```
Отметьте верные утверждения:
Вопрос № 3(Верно)(Неверно)
Ответы:
Атрибут x присоединяются к классу А с помощью присваиваний, выполняемых на верхнем уровне блоков операторов class.
Атрибут y присоединяются к классу B во вложенных операторах def определения функций.
Атрибут y присоединяются к экземпляру b во вложенных операторах def определения функций.
Атрибут x присоединяются к экземпляру а с помощью присваиваний, выполняемых на верхнем уровне блоков операторов class.
Что выведет код?
```python
class C():
def setname(self, Tom):
self.name = Tom
I = C()
I.name
```
Вопрос № 4(Верно)(Неверно)
Ответы:
Tom
name
AttributeError
C().name
None
Дан код:
```python
class Person:
def setname(self, name):
self.name = name
person = Person()
print(person.name)
```
Как сделать его рабочим?
Вопрос № 5(Верно)(Неверно)
Ответы:
<pre>Добавить конструктор, где будет строка self.name = 'Tom'</pre>
<pre>Изменить создание экземпляра класса на person = Person('Tom')</pre>
<pre>Добавить строку person.setname('Tom') после создания экземпляра</pre>
Вам нужно сделать перегрузку метода "возведение в степень".
Как должна начинаться реализация этого метода?
Вопрос № 6(Верно)(Неверно)
Ответы:
```python
def __pow__(self, x):
```
```python
def __pow__(self):
```
```python
def pow(self, x):
```
```python
def __deg__(self, x):
```
```python
def __degree__(self, x):
```
```python
def __power__(self, x):
```
Дан код:
```python
class A:
def __init__(self, x):
self.x = x
a1 = A(1)
a2 = A(2)
res = a1 and a2
print(res)
```
Какой метод надо добавить для переопределения логического оператора "and", чтобы вывелось число 3?
Вопрос № 7(Верно)(Неверно)
Ответы:
<pre>__pow__</pre>
<pre>__and__</pre>
<pre>__logic__</pre>
<pre>__intersect__</pre>
этого нельзя сделать
Верно ли утверждение?
"
ООП предназначено для многократного использования кода — вы производите
разложение кода с целью минимизации избыточности и программируете путем
настройки того, что уже существует, а не изменяете код на месте или пишете его
с нуля.
"
Вопрос № 8(Верно)(Неверно)
Ответы:
Верно
Неверно
При создании классов, при написании его методов, должен ли первый аргумент метода называться self?
Вопрос № 9(Верно)(Неверно)
Ответы:
Да, это обязательное требование.
Нет, но это соглашение и нужно его придерживаться.
Первый аргумент не имеет отличий от других аргументов и его можно задавать каким угодно.
Есть код:
```python
def create_class(n):
class Pow:
def __init__(self):
self.n = n
def __cal__(self, x):
return x**n
return Pow
inst1 = create_class(2)()
inst2 = create_class(3)()
same_class = inst1.__class__ == inst2.__class__
same_class_name = inst1.__class__.__name__ == inst2.__class__.__name__
print(inst1(5), inst2(1), same_class, same_class_name)
```
Что будет выведено?