Answer

Answer

t.me/python_tesst

Ответ:

 5      0 LOAD_GLOBAL       0 (len)

       2 LOAD_FAST        0 (word)

       4 CALL_FUNCTION      1

       6 STORE_FAST        1 (len_word)


 6      8 LOAD_GLOBAL       1 (print)

       10 LOAD_FAST        1 (len_word)

       12 CALL_FUNCTION      1

       14 POP_TOP

       16 LOAD_CONST        0 (None)

       18 RETURN_VALUE

Объяснение:

Дизассемблирование особенно эффективно, когда дело доходит до оптимизации. Оно позволяет более отчетливо увидеть все множество инструкций, используемых в каждой строке кода. Этот шаг дает все необходимое для оценки возможности улучшения быстродействия каждого конкретного фрагмента кода. Дизассемблирование можно выполнить с помощью модуля Python dis. Мы импортировали модуль dis, после чего вызвали метод dis() для дизассемблирования my_very_special_function. Помните, что не нужно включать круглые скобки. Эту функцию мы не вызываем. Разберем, что этот вывод из себя представляет:

  • Первый столбец: соответствующий номер строки в коде;
  • Второй столбец: соответствующий байтовый индекс;
  • Третий столбец: opname, понятное человеку имя операции;
  • Четвертый столбец: аргумент инструкции;
  • Пятый столбец: понятный человеку аргумент инструкции.

Помимо этого, дизассемблировать можно не только функции, но и классы. А вызов модуля в качестве аргумента командной строки (-m dis ) позволяет дизассемблировать вообще весь код.

Код:

import dis


def my_very_special_function(word):
  len_word = len(word)
  print(len_word)


dis.dis(my_very_special_function)



Report Page