Самый простой способ увидеть, что входит в файлы .pyc, - это разобрать функцию Python
import dis
def f():
x = 1
a = x
print(a, x)
dis.dis(f)
, и результат должен выглядеть примерно так:
2 0 LOAD_CONST 1 (1)
2 STORE_FAST 0 (x)
3 4 LOAD_FAST 0 (x)
6 STORE_FAST 1 (a)
4 8 LOAD_GLOBAL 0 (print)
10 LOAD_FAST 1 (a)
12 LOAD_FAST 0 (x)
14 CALL_FUNCTION 2
16 POP_TOP
18 LOAD_CONST 0 (None)
20 RETURN_VALUE
Каждая операция, которую вы видитездесь (LOAD_CONST
, STORE_FAST
и т. д.) есть связанный код операции (код операции), также известный как байт-код.Каждый байт-код хранится в двоичной форме в файле .pyc вместе со «списками» констант, переменных, функций и т. Д.
Это больше, чтобы объяснить байт-кодам, но если вам действительно интересно, как этоработает, есть много хороших статей в Интернете о них.Тем временем вы можете проверить этот один.
Если вы поняли их и вам понравился вопрос, вы можете попробовать изучить язык ассемблера .