Разминка для тех, кто умеет в Python

    Привет! Мы обожаем квизы, посвященные языкам программирования. В нашем блоге мы разместили уже целых три: первый — по Python, PHP, Golang, DevOps, второй — полностью по Go, третий — только по PHP. Сегодняшний квиз посвящен исключительно Python.


    Предлагаем вам размяться в честь конца ещё одной летней недели и в преддверии PyCon Russia 2018. (Кстати, кто едет? Мы там будем).


    Под катом — семь вопросов, советы от друга, Чапаев, отрывки из ABBA (что? да!) и крутой мерч.


    UPD: Мы закончили принимать ответы. Спасибо всем, кто поучаствовал! Ответы на вопросы — внутри текста, а победители и призеры под спойлером.


    Победители и призеры викторины

    Победитель


    Vadem


    Призеры


    Второе место: acerikfy
    Третье место: Histiophryne
    Четвертое — десятое место: Swezy_ua, SlonPC, noth, IIRoadRunnerII, term1nal, alexchromets, Tihon_V .


    Бонус


    Так много участников дали правильные ответы, что мы решили разыграть случайным образом еще пять пар носков среди них. Крутые носки от Авито получают: sunman, grt_pretender, Vash, ipatov_dn, institoris


    Запись розыгрыша




    Призы


    Призы распределим между десяткой лучших. Первому, кто правильно ответит на все вопросы Python-викторины, отправим продвинутый набор Авито-мерча: толстовку, носки и холиварные кости — можно будет погадать, на каком бэкенд-языке и фронтенд-фреймворке будет написан ваш новый проект. Второго участника, справившегося с заданиями, наградим холиварными костями, носками и футболкой. Третьему достанется тот же набор, но без футболки/толстовки. Среди оставшихся семи участников разыграем термобутылку с карабином, которую можно взять хоть в поход, хоть на хакатон.


    image


    Вопросы


    *Во всех случаях речь про Python 3.


    Вопрос 1


    Какой результат будет в переменной t:


    >>> t = (1, 2, [30,40])
    >>> t[2] += [50, 60]

    Варианты ответов:


    • вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),
    • вылетит TypeError, в t будет (1, 2, [30, 40]),
    • (1, 2, [30, 40, 50, 60]),
    • (1, 2, [30, 40]).

    Правильный ответ

    вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])


    Вопрос 2


    Есть у тебя такая структура модулей:


    foo_app/
        snatch/
            qwerty.py
    bar_app/
        snatch/
            mamamia.py

    Как бы так сделать, чтобы можно было в коде импортировать эти модули таким образом:


    from snatch import qwerty, mamamia

    Варианты ответов:


    • перед запуском скрипта выполнить export PYTHONPATH=foo_аpp:bаr_аpp,
    • в начало скрипта добавить:
      import sys
      sys.path.extend([‘foo_app’, ‘bar_app’])
    • оба варианта выше — работающие,
    • так нельзя сделать.

    Правильный ответ

    оба варианта выше — работающие


    Вопрос 3


    Есть скрипт:


    class A:
        def get_some(self):
            super().get_some()
    
    class B:
        def get_some(self):
            print('Some')
    
    class C(A, B):
        def get_some(self):
            super().get_some()
    
    c = C()
    c.get_some()

    Что будет на выходе?


    Варианты ответов:


    • AttributeError: 'C' object has no attribute 'get_some',
    • AttributeError: 'super' object has no attribute 'get_some',
    • Some,
    • пустота (без Чапаева).

    Правильный ответ

    Some


    Вопрос 4


    Что будет выведено на экран при запуске такого кода:


    class A:
       def foo(self):
           print('foo A')
    
    class B:
       def foo(self):
           print('foo B')
    
    class C(A, B):
       def foo(self):
           super().foo()
    
    class D(B, A):
       def foo(self):
           super().foo()
    
    class E(C, D): pass
    
    e = E()
    e.foo()

    Варианты ответов


    • foo A,
    • foo B,
    • TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.

    Правильный ответ

    TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B


    Вопрос 5


    Представь, у тебя есть модуль foo.py:


    def bar():
        print(‘Привет, друг!’)

    И ты запускаешь другой скрипт:


    import importlib
    
    import foo
    from foo import bar
    
    input(‘Друг, нажми ввод’)
    importlib.reload(foo)
    bar()

    Пока он ждет ввода, ты меняешь модуль foo.py:


    def bar():
        print(‘Пока, друг!’)

    Далее ты жмешь «ввод» в foo.py, чтобы он продолжил работу и видишь...


    Варианты ответов:


    • ModuleReloadedException: method bar() was reloaded,
    • Пока, друг!,
    • Привет, друг!,
    • пустоту (и опять нет Чапаева).

    Правильный ответ

    Привет, друг!


    Вопрос 6


    Что будет выведено на экран при запуске такого кода:


    class A:
       def __init__(self):
           print('__init__ A', end=' ')
    
    class B:
       def __init__(self):
           print('__init__ B', end=' ')
    
    class C(A, B): pass
    
    c = C()

    Варианты ответов:


    • __init__ A __init__ B
    • __init__ B __init__ A
    • __init__ A
    • __init__ B

    Правильный ответ

    __init__ A


    Вопрос 7


    Что будет в выводе после выполнения следующего кода?


    def not_(value): return not value
    result = not_(0), all(any([not_(x) for x in range(b)]) for b in range(10))
    print(result)

    Варианты ответов:


    • (True, True),
    • (True, False),
    • ValueError: need more than 2 values to unpack,
    • def not_(value): return value
                           ^
      SyntaxError: invalid syntax


    Правильный ответ

    (True, False)


    Подведение итогов


    Ответы на вопросы выложим апдейтом к посту в среду, 25 июля. Если будете решать — кладите ответы под спойлер, чтобы другим участникам было интереснее решать вопросики.
    И (!) не забывайте проверять личку Хабра после окончания квиза.

    Avito 224,82
    У нас живут ваши объявления
    Поделиться публикацией
    Похожие публикации
    Комментарии 61
      0
      Заголовок спойлера
      1. 1
      2. 3
      3. 3
      4. 3
      5. 3
      6. 3
      7. 2


      Python 3. В пятом вопросе я предположил, что идентация там правильная.

        0
        Заголовок спойлера
        1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),
        2. оба варианта выше — работающие,
        3. Some
        4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
        5. Привет, друг!
        6. __init__ A
        7. (True, False),
          0
          Заголовок спойлера
          1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
          2. оба варианта выше — работающие
          3. Some
          4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
          5. Привет, друг!
          6. __init__ A
          7. (True, False)

            0
            ответ
            Вопрос 1
            вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),

            Вопрос 2
            оба варианта выше — работающие

            Вопрос 3
            Some

            Вопрос 4
            TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.

            Вопрос 5
            Привет, друг!

            Вопрос 6
            init A

            Вопрос 7
            (True, False)
              0
              Заголовок спойлера
              Вопрос 1
              вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),

              Вопрос 2
              оба варианта выше — работающие

              Вопрос 3
              Some

              Вопрос 4
              TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.

              Вопрос 5
              Привет, друг!

              Вопрос 6
              init A

              Вопрос 7
              (True, False)
                0
                Заголовок спойлера
                1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                2. оба варианта выше — работающие,
                3. Some
                4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                5. Привет, друг!
                6. __init__ A
                7. (True, False)
                  0
                  Заголовок спойлера
                  1 — 1
                  2 — 4
                  3 — 3
                  4 — 3
                  5 — 4
                  6 — 3
                  7 — 2
                    0
                    ответ
                    1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                    2. оба варианта выше — работающие
                    3. Some
                    4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                    5. Привет, друг!
                    6. __init__ A
                    7. (True, False)
                      0
                      Заголовок спойлера
                      1 — вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                      2 — оба варианта выше — работающие
                      3 — Some
                      4 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                      5 — Привет, друг!
                      6 — __init__ A
                      7 — (True, False)
                        0
                        Скрытый текст
                        1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                        2. оба варианта выше — работающие
                        3. Some
                        4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                        5. Привет, друг!
                        6. __init__ A
                        7. (True, False)
                          0
                          Ответы
                          1-вылетит TypeError, в t будет (1, 2, [30, 40]),
                          2-import sys
                          sys.path.extend([‘foo_app’, ‘bar_app’])
                          3-Some,
                          4-TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                          5-ModuleReloadedException: method bar() was reloaded,
                          6-__init__ A
                          7-(True, False),
                            0
                            Скрытый текст
                            1. TypeError, (1, 2, [30, 40, 50, 60])
                            2. оба вариата — работающие
                            3. Some
                            4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                            5. Привет, друг!
                            6. __init__ A
                            7. (True, False)
                              0
                              Заголовок спойлера
                              1. Вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                              2. так нельзя сделать.
                              3. Some
                              4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                              5. Привет, друг!
                              6. __init__ A.
                              7. (True, False).
                                0
                                Заголовок спойлера
                                1 — вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                2 — •так нельзя сделать
                                3 — Some
                                4 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                5 — Привет, друг!
                                6 — __init__ A
                                7 — (True, False)
                                  0
                                  Мои ответы
                                  1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                  2. перед запуском скрипта выполнить export PYTHONPATH=foo_barapp:bar_app
                                  3. Some
                                  4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                  5. Привет, друг.
                                  6. __init__ A
                                  7. (True, False)
                                    0
                                    спойлер
                                    1. (1, 2, [30, 40, 50, 60])
                                    2. так нельзя сделать
                                    3. AttributeError: 'super' object has no attribute 'get_some'
                                    4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                    5. Пока, друг!
                                    6. __init__ A
                                    7. (True, True)

                                      0
                                      Заголовок спойлера
                                      1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),
                                      2. оба варианта выше — работающие (но есть нюанс — в папках foo_app и bar_app не должно быть файла init.py, иначе интерпретатор python будет считать, что это в этих папках лежат 2 разных модуля foo_app.snatch и bar_app.snatch, и не даст подключить обе этих папки под одним и тем же именем)
                                      3. Some,
                                      4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                      5. Привет, друг!, (т.к. функция bar уже экспортирована, в первоначальном виде. Чтобы отредактированный код перезагрузился, нужно ее заново экспортировать — сделать from foo import bar)
                                      6. init A
                                      7. (True, False),
                                        0
                                        Заголовок спойлера
                                        Вопрос 1. 3-й вариант ('(1, 2, [30, 40, 50, 60])')
                                        Вопрос 2. 3-й вариант ('оба варианта выше — работающие')
                                        Вопрос 3. 3-й вариант ('Some')
                                        Вопрос 4. 3-й вариант ('TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.')
                                        Вопрос 5. 3-й вариант ('Привет, друг!')
                                        Вопрос 6. 3-й вариант ('__init__ A')
                                        Вопрос 7. 1-й вариант ('(True, True)')
                                          +1
                                          Ответы
                                          все ответы актуальны только для python3, для python2.7 в некоторых местах будет совпадать, а в некоторых будет ошибка
                                          1 — вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                          2 — так нельзя сделать(c текущей структурой, необходимы __init__.py в модулях)
                                          3 — Some
                                          4 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                          5 — Привет, друг!
                                          6 — __init__ A
                                          7 — (True, False)
                                            0
                                            Заголовок спойлера
                                            1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                            2. оба варианта выше — работающие
                                            3. Some
                                            4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                            5. Привет, друг!
                                            6. __init__ A
                                            7. (True, False)

                                              0
                                              Заголовок спойлера
                                              1 вариант 2 (1, 2, [30, 40, 50, 60])
                                              2 вариант 2 оба варианта выше — работающие
                                              3 вариант 2 some
                                              4 вариант 2 TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                              5 вариант 2 Привет, друг!
                                              6 вариант 2 __init__ A
                                              7 вариант 1 (True, False)
                                                0
                                                Заголовок спойлера
                                                1.2
                                                2.3
                                                3.3
                                                4.3
                                                5.3
                                                6.3
                                                7.2
                                                  0
                                                  1. Вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                  2. Оба варианта выше — работающие
                                                  3. Some
                                                  4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                  5. Привет, друг!
                                                  6. init A
                                                  7. (True, False)
                                                    0
                                                    Zelgadis пожалуйста уберите ответы под кат
                                                      0
                                                      У меня кат недоступен среди элементов оформления.
                                                        0
                                                        попробуйте вручную написать теги
                                                        < \spoiler title=«Заголовок спойлера»>
                                                        text
                                                        </ \spoiler>

                                                        только \ уберите перед этим
                                                          0
                                                          Оно ещё и для редактирования недоступно.
                                                          Если есть возможность удалить ответ, я напишу новый.
                                                            0
                                                            Да, редактировать на хабре можно только первые несколько минут. Возможно, получится удалить у вас, Zelgadiss, хотя я не уверена. Автор поста точно не может удалить комментарий.
                                                              0
                                                              Я тоже к сожалению не могу удалить.
                                                                +1
                                                                Что написано на Хабре — не вырубишь топором :)
                                                    0
                                                    Заголовок спойлера
                                                    Вопрос 1
                                                    вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])

                                                    Вопрос 2
                                                    оба варианта выше — работающие

                                                    Вопрос 3
                                                    Some

                                                    Вопрос 4
                                                    TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B

                                                    Вопрос 5
                                                    Привет, друг!

                                                    Вопрос 6
                                                    __init__ A

                                                    Вопрос 7
                                                    (True, False)
                                                      0
                                                      Скрытый текст
                                                      1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                      2. оба варианта выше — работающие
                                                      3. Some
                                                      4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                      5. Привет, друг!
                                                      6. __init__ A
                                                      7. (True, False)

                                                        0
                                                        Vash если есть возможность, пожалуйста, уберите ответы под кат
                                                        0
                                                        «Ответы»
                                                        1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                        2. так сделать нельзя (предложенными вариантами)
                                                        3. Some
                                                        4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                        5. Привет, друг!
                                                        6. __init__ A
                                                        7. (True, False)
                                                          0
                                                          Заголовок спойлера
                                                          1) вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),
                                                          2) оба варианта выше — работающие,
                                                          3) Some,
                                                          4) TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                          5) Привет, друг!
                                                          6) __init__ A
                                                          7) (True, False)
                                                            0
                                                            Заголовок спойлера
                                                            1 — 1
                                                            2 — 4
                                                            3 — 2
                                                            4 — 1
                                                            5 — 1
                                                            6 — 3
                                                            7 — 2
                                                              0
                                                              Заголовок спойлера
                                                              1 вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                              2 оба варианта выше — работающие
                                                              3 Some
                                                              4 TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                              5 Привет, друг!
                                                              6 __init__ A
                                                              7 (True, False)
                                                                0
                                                                Заголовок спойлера
                                                                1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                2. так сделать нельзя (предложенными вариантами)
                                                                3. Some
                                                                4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                                5. Привет, друг!
                                                                6. __init__ A
                                                                7. (True, False)
                                                                  0
                                                                  Ответы
                                                                  1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                  2. оба варианта выше — работающие,
                                                                  3. Some
                                                                  4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                  5. Привет, друг!
                                                                  6. __init__ A
                                                                  7. (True, False),
                                                                    +2
                                                                    Зачем это все?
                                                                      0
                                                                      Заголовок спойлера
                                                                      1. 1
                                                                      2. 4
                                                                      3. 3
                                                                      4. 3
                                                                      5. 3
                                                                      6. 3
                                                                      7. 4

                                                                        0
                                                                        Ответы
                                                                        1) вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                        2) в начало скрипта добавить
                                                                        import sys
                                                                        sys.path.extend(['foo_app', 'bar_app'])

                                                                        3) Some
                                                                        4) TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                        5) Привет, друг!
                                                                        6) __init__ A
                                                                        7) (True, False)

                                                                        Ну и вместо символов
                                                                        и

                                                                        все таки использовать
                                                                        '

                                                                          0
                                                                          Ответы
                                                                          1. Вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                          2. Оба варианта выше — работающие
                                                                          3. Some
                                                                          4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                          5. Привет, друг!
                                                                          6. init A
                                                                          7. (True, False)
                                                                            0
                                                                            Заголовок спойлера
                                                                            1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                            2. в начало скрипта добавить…
                                                                            3. Some
                                                                            4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                                            5. Привет, друг!
                                                                            6. __init__ A
                                                                            7. (True, False)
                                                                              0
                                                                              Заголовок спойлера
                                                                              1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])


                                                                                

t = (1, 2, [30,40])
                                                                                
temp = t[2]
                                                                                
temp += [50, 60]
                                                                                
t[2] = temp



                                                                                https://github.com/python/cpython/blob/6f0eb93183519024cb360162bdd81b9faec97ba6/Lib/operator.py#L337


                                                                              2. в начало скрипта добавить:
                                                                                import sys
                                                                                sys.path.extend(['foo_app', 'bar_app'])


                                                                              3. Some


                                                                              4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.


                                                                              5. Привет, друг!


                                                                              6. __init__ A


                                                                              7. (True, False)


                                                                                0
                                                                                Заголовок спойлера
                                                                                1 — вылетит TypeError, в t будет (1, 2, [30, 40])
                                                                                2 — так нельзя сделать
                                                                                3 — Some
                                                                                4 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                                5 — Привет, друг!,
                                                                                6 — __init__ A
                                                                                7 — (True, False)
                                                                                  0
                                                                                  Ответы
                                                                                  1 — вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60]),
                                                                                  2 — оба варианта выше — работающие,
                                                                                  3 — Some,
                                                                                  4 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                                  5 — Привет, друг!,
                                                                                  6 — __init__ A
                                                                                  7 — (True, False),
                                                                                    0
                                                                                    Заголовок спойлера
                                                                                    1) 1
                                                                                    2) 2
                                                                                    3) 2
                                                                                    4) 1
                                                                                    5) 3
                                                                                    6) 1
                                                                                    7) 4
                                                                                      0
                                                                                      (с) «Но я не уверен»
                                                                                      Заголовок спойлера
                                                                                      1. 'вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])'
                                                                                      # нельзя редакировать элементы в кортеже

                                                                                      2. 'оба варианта выше — работающие'
                                                                                      # *второй вариант не работает в windows и не стоит менять глобальные параметры
                                                                                      # *третий вариант работает, только апострофы надо поенять на одинарные ковычки

                                                                                      3. 'Some'
                                                                                      # алгоритм линеаризации наследования не находит в методе 'А::get_some()' метод super().get_some()
                                                                                      # поэтому вызывается метод класса 'B'

                                                                                      4. 'TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.'

                                                                                      5. 'Привет, друг!'
                                                                                      # т.к. метод bar() был проимпортирован отдельно 'from foo import bar'
                                                                                      # если хотим чтобы менялся, надо высызвать метод из модуля 'foo.bar()'

                                                                                      6. '__init__ A'
                                                                                      # опять алгоритм линеаризации
                                                                                      # поиск идёт слево направо

                                                                                      7. '(True, False)'
                                                                                      # для диапазона [0-9] метод not будет возвращать всегда 'True' для '0' и 'False' для остальных
                                                                                      # т.е. всегда будет хотябы одно отличающееся значение в диапазоне
                                                                                      # поэтому условие 'all' вернет 'False'
                                                                                        0
                                                                                        Заголовок спойлера
                                                                                        в 7 вопросе:
                                                                                        для диапазона [0-9] метод not будет возвращать всегда 'True' для '0' [...] т.е. всегда будет хотябы одно [...]
                                                                                        разве это не означает, что внутреннее any всегда будет давать True?
                                                                                          0
                                                                                          Заголовок спойлера
                                                                                          Верно. Но мой комментарий получился неполным. Стоило отметить, что итерация идёт от 0 до 9 включительно. Получается, когда 'b = 0' в 'any' будет подан пустой список. А 'any([])', логично вернёт 'False'
                                                                                      0
                                                                                      Зачем так просто?
                                                                                        0
                                                                                        3/7 вопросов на знание множественного наследования, когда по-хорошему нужно знать, что множественное наследование это bad practice.
                                                                                          0
                                                                                          множественное наследование это нормальная практика, если не доводить до чего-то такого
                                                                                          (картинка из википедии)
                                                                                          image

                                                                                          0
                                                                                          Ответы
                                                                                          1: вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                                          2: оба варианта выше — работающие
                                                                                          3: Some
                                                                                          4: TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                                                          5: Привет, друг!
                                                                                          6: __init__ A
                                                                                          7: (True, False)

                                                                                            0
                                                                                            Заголовок спойлера
                                                                                            1 — 1
                                                                                            2 — 4
                                                                                            3 — 2
                                                                                            4 — 1
                                                                                            5 — 1
                                                                                            6 — 3
                                                                                            7 — 2

                                                                                              0
                                                                                              Заголовок спойлера
                                                                                              1. 1 — вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                                              2. 2 — оба варианта выше — работающие
                                                                                              3. 3 — Some
                                                                                              4. 3 — TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                                                              5. 3 — Привет, друг!
                                                                                              6. 3 — __init__ A
                                                                                              7. 2 — (True, False)
                                                                                                0
                                                                                                1. вылетит TypeError, в t будет (1, 2, [30, 40]),
                                                                                                2. в начало скрипта добавить:

                                                                                                import sys
                                                                                                sys.path.extend([‘foo_app’, ‘bar_app’])
                                                                                                3. Some,
                                                                                                4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B.
                                                                                                5. ModuleReloadedException: method bar() was reloaded,
                                                                                                6. __init__ A
                                                                                                7. (True, False),
                                                                                                  0
                                                                                                  Ответы
                                                                                                  1) 1
                                                                                                  2) 3
                                                                                                  3) 3
                                                                                                  4) 3
                                                                                                  5) 3
                                                                                                  6) 3
                                                                                                  7) 2
                                                                                                    0
                                                                                                    ответы
                                                                                                    1. вылетит TypeError, в t будет (1, 2, [30, 40, 50, 60])
                                                                                                    2. в начало скрипта добавить:
                                                                                                    import sys
                                                                                                    sys.path.extend([‘foo_app’, ‘bar_app’])
                                                                                                    3. Some
                                                                                                    4. TypeError: Cannot create a consistent method resolution order (MRO) for bases A, B
                                                                                                    5. Привет, друг!
                                                                                                    6. __init__ A
                                                                                                    7. (True, False)

                                                                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                    Самое читаемое