😭5😁2🎉1
sum()
работает как со списками, так и с генераторами, и результат — 0 + 1 + 2 == 3.👍1👎1
👍2😭2👎1
При сравнении
Так как
b == a
, где b
— это список, а a
— это экземпляр MyList
, интерпретатор сначала вызывает list.__eq__(b, a)
, и если результат — NotImplemented
, тогда он вызывает MyList.__eq__(a, b)
.Так как
MyList.__eq__
определён и всегда возвращает True
, то сравнения b == a возвращаетт True.👍4👎2
🔍Что выведет код?
Anonymous Quiz
22%
<function <lambda> at 0x1027200e0>
28%
[1, 4, 9, 16, 25, 36, 49, 64]
33%
[8, 8, 8, 8, 8]
17%
Error
👍7👎3
В этом примере все лямбда-функции в списке
functions
замыкают переменную i
, которая после завершения цикла имеет значение 4. Поэтому при вызове каждой функции с аргументом 2 вычисляется 2 * 4 = 8.👍1👎1😐1
👍3👎1
def на самом деле представляет собой присваивание. В примере операторы def присваивают объекты функций именам setdata и display в области видимости оператора class, а потому генерируют атрибуты, присоединяемые к классу — FirstClass.setdata и FirstClass.display. В действительности любое имя, присвоенное на верхнем уровне вложенного блока класса, становится атрибутом этого класса.
👍3👎1
Мы тут с опросом про работодателей. Какой рэдфлаг хуже?
Anonymous Poll
14%
Переработки
13%
Серая зарплата
34%
Задержки зарплаты
40%
Токсичная атмосфера
🖕3🥰1
Если добавить атрибут .data в вывод display, то выведется «Москва»:
class MyClass():
def setdata(self, value):
def display(self):
print(
x = MyClass()
x.display() # Москва
👍1👎1💯1
Чем классы в Python отличаются от методов?
Anonymous Quiz
9%
Классы могут возвращать значения, а методы — нет
78%
Классы могут быть многоуровневыми, а методы — нет
7%
Методы могут содержать атрибуты, а классы — нет
7%
Методы поддерживают наследование, а классы — нет
👎5👍2❤1
👍3👎1
👍3👎1
Как получить список базовых (родительских) классов класса Second?
Anonymous Quiz
23%
Second.__bases__
48%
Second.__superclass__
20%
Second.__dict__
8%
Никак
👍2👎1
👍3👎1