Python: задачки и вопросы
7.8K subscribers
1.18K photos
1 video
1 file
87 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
🔍 Что выведет код?
Anonymous Quiz
42%
[None, 2, 3]
24%
[2, 3, None]
3%
None
31%
Error
🥴112👍1😱1
None не может быть напрямую сравнён с int в Python 3, поэтому sorted() вызовет TypeError.
👍7👎1
🔍 Что выведет код?
Anonymous Quiz
10%
1
64%
2
15%
True
11%
Error
👍4
Forwarded from Код найма
Расскажите про свой опыт поиска работы

Мы сейчас проводим исследование — хотим разобраться, как айтишники ищут работу: на что обращаете внимание в вакансии, что для вас точно красный флаг, а что — зеленая простыня. Мы хотим из первых уст узнать про все боли, подводные камни и нюансы рекрутинга в ИТ в 2025 году, поэтому просим вашей помощи — пройдите опрос, который займет у вас около 15 минут.

Давайте поможем компаниям и специалистам эффективнее и быстрее находить друг друга.
👍1👎1
В Python логические значения True и False являются подклассами int и равны 1 и 0 соответственно. Поэтому выражение эквивалентно 1 + 1 + 0.
👍6👎2
Что выведет код?
Anonymous Quiz
67%
True
17%
False
3%
None
13%
Error
😭5😁2🎉1
sum() работает как со списками, так и с генераторами, и результат — 0 + 1 + 2 == 3.
👍1👎1
🌱 Что выведет код?
Anonymous Quiz
49%
True
40%
False
3%
Пустое значение
8%
Error
👍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
В этом примере все лямбда-функции в списке functions замыкают переменную i, которая после завершения цикла имеет значение 4. Поэтому при вызове каждой функции с аргументом 2 вычисляется 2 * 4 = 8.
👍1👎1😐1
Являются ли атрибутами функции, определенные внутри класса?
Anonymous Quiz
70%
Да
30%
Нет
👍3👎1
Как и все составные операторы, оператор class начинается со строки заголовка с именем класса, после чего следует тело с одним или несколькими вложенными операторами, (обычно) набранными с отступом. В приведенном примере вложенными операторами являются def; они определяют функции, которые реализуют поведение класса, предназначенное для экспортирования.

def на самом деле представляет собой присваивание. В примере операторы def присваивают объекты функций именам setdata и display в области видимости оператора class, а потому генерируют атрибуты, присоединяемые к классу — FirstClass.setdata и FirstClass.display. В действительности любое имя, присвоенное на верхнем уровне вложенного блока класса, становится атрибутом этого класса.
👍3👎1
Мы тут с опросом про работодателей. Какой рэдфлаг хуже?
Anonymous Poll
15%
Переработки
12%
Серая зарплата
33%
Задержки зарплаты
39%
Токсичная атмосфера
🖕3🥰1
Выводится тип объекта и его адрес в памяти, потому что в методе 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() # Москва
👍1👎1💯1