описание для co_names
в модуле проверки читает:
кортеж имен локальных переменных
Однако на практике кажется, что co_names
является кортежем имен глобальных переменных, а co_varnames
является кортежем имен локальных переменных (и имен аргументов). Например:
a = 1
def f(b):
c = a + b
print(f.__code__.co_varnames) # prints ('b', 'c')
print(f.__code__.co_names) # prints ('a',)
Кроме того, в документах для модуля dis
многие описания команд подразумевают, что co_names
содержит имена глобальных переменных. Например, LOAD_GLOBAL
description читает:
Загружает глобальные имена co_names [namei] в стек.
Я что-то не понимаю? Действительно ли co_names
содержит "имена локальных переменных"?
Редактировать 07/17/2017
Как уже упоминалось в комментариях/ответах, это ошибка документации. Ошибка в файле здесь.
Редактировать 07/22/2017
Извлечь запрос, чтобы исправить эту ошибку документации, одобренную и ожидающую объединения.