Имена, определяемые внутри инструкции
def, не вступают в конфликт с именами, находящимися за ее пределами, даже если и там и там присутствуют одинаковые имена. Имя X, которому присвоено значение за пределами данной инструкции, полностью отлично от имени X, которому присвоено значение внутри инструкции def.