uk
Feedback
Python: задачки и вопросы

Python: задачки и вопросы

Відкрити в Telegram

Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media

Показати більше
7 128
Підписники
-424 години
+87 днів
-230 день
Архів дописів
Как получить список базовых (родительских) классов класса Second?
Anonymous voting

Код выведет 'Bob', потому что res — это класс, и ему присваивается атрибут name на уровне класса (res.name = 'Bob'). Затем создаётся экземпляр x = res(), у которого нет собственного атрибута name. При вызове x.name интерпретатор ищет атрибут сначала в экземпляре x, затем в его классе res. Поскольку у res есть атрибут name, возвращается 'Bob'. Это пример наследования атрибутов экземпляром от класса.

🌱 Что выведет код?
Anonymous voting

photo content

Чем классы в Python отличаются от методов?
Anonymous voting

Выводится тип объекта и его адрес в памяти, потому что в методе display() вы печатаете сам объект (self), а не его атрибут data. Если добавить атрибут .data в вывод display, то выведется «Москва»: class MyClass(): def setdata(self, value): self.data = value def display(self): print(self.data) x = MyClass() x.data = 'Москва' x.display() # Москва

photo content

Мы тут с опросом про работодателей. Какой рэдфлаг хуже?
Anonymous voting

Как и все составные операторы, оператор class начинается со строки заголовка с именем класса, после чего следует тело с одним или несколькими вложенными операторами, (обычно) набранными с отступом. В приведенном примере вложенными операторами являются def; они определяют функции, которые реализуют поведение класса, предназначенное для экспортирования. def на самом деле представляет собой присваивание. В примере операторы def присваивают объекты функций именам setdata и display в области видимости оператора class, а потому генерируют атрибуты, присоединяемые к классу — FirstClass.setdata и FirstClass.display. В действительности любое имя, присвоенное на верхнем уровне вложенного блока класса, становится атрибутом этого класса.

Являются ли атрибутами функции, определенные внутри класса?
Anonymous voting

photo content

В этом примере все лямбда-функции в списке functions замыкают переменную i, которая после завершения цикла имеет значение 4. Поэтому при вызове каждой функции с аргументом 2 вычисляется 2 * 4 = 8.

🔍Что выведет код?
Anonymous voting

photo content

При сравнении b == a, где b — это список, а a — это экземпляр MyList, интерпретатор сначала вызывает list.__eq__(b, a), и если результат — NotImplemented, тогда он вызывает MyList.__eq__(a, b). Так как MyList.__eq__ определён и всегда возвращает True, то сравнения b == a возвращаетт True.

🌱 Что выведет код?
Anonymous voting

photo content

sum() работает как со списками, так и с генераторами, и результат — 0 + 1 + 2 == 3.

Что выведет код?
Anonymous voting

photo content