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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Из документации Python:

«
@classmethod преобразует метод в метод класса, что получает класс в качестве неявного первого аргумента, точно так же, как метод экземпляра получает экземпляр».

В данном случае преимущества такие:
- Гибкость - разные способы создания объектов
- Читаемость - from_string явно показывает источник
- Наследование - если создать подкласс, cls автоматически будет указывать на него
👍3👎1
🪤 Что выведет код?
Anonymous Quiz
38%
1
21%
2
34%
3
7%
Error
Марк Лутц, «Изучаем Python», том 2, гл. 32:

«В данном случае ветви дерева суперклассов разъединены (у них отсутствует явный общий предок), так что подклассы, которые их комбинируют, должны делать вызовы через каждый суперкласс по имени — распространенная ситуация с большинством существующего кода на Python, которую super не может решить напрямую без внесения изменений в код».

class В:
def __init__(self): print("B.__init__")

class С:
def __init__(self): print("C.__init__")

class D(В, С):
pass

x = D() # По умолчанию выполняется только крайний слева